Call-by-reference is een mechanisme in programmeertalen om parameters (en impliciet ook functies) mee te geven aan procedures.
Als een variabele als verwijzing (Engels: reference) wordt meegegeven in de aanroep van een procedure, dan zijn toewijzingen binnen de procedure ook daarbuiten zichtbaar. Er hoeft geen kopie van de waarde gemaakt te worden bij de aanroep van de procedure, dit is wel het geval bij call-by-value.[1] De wijzigingen aan de waarde lopen via het meegegeven adres. Deze wijzigingen blijven in het geheugen staan, ook wanneer er na de procedure een ander adres wordt toegekend aan de eerder meegegeven variabele.