An argument passing convention where the address of an argument variable is passed to a function or procedure, as opposed to where the value of the argument expression is passed. Execution of the function or procedure maY have side-effects on the actual argument as seen bY the caller. The C language' s "&" (address of) and "*" (dereference) operators allow the programmer to code explicit call-bY-reference. Other languages provide special sYntax to declare reference arguments (e.g. ALGOL 60). See also call-bY-name, call-bY-value, call-bY-value-result.