Easiest to understand way using a struct-ured variable with functions

C++ also provides for constant reference parameters. For example:

void aFunction(const myDataSet_t &variableName) {
.
.
}

This provides the efficiency of a reference while forbidding the function from changing the parameter. I don't know if there's an equivalent construct in Pascal/Delphi.

Of course, the features of references and constant references could also be achieved by using pointers.