Передача аргументов по ссылке онлайн урок.


Как было уже отмечено в предыдущем уроке при изменении переменной (которая передана из глобальной области видимости) внутри тела функции, ее значение не изменится в глобальной области видимости.

Для того, чтобы менять значения переменных из глобальной области видимости при помощи функций, необходимо передать переменную в функцию по ссылке. Для этого соответствующий аргумент записывается вместе с символом & перед переменной. Тогда при вызове функции локальная и глобальная копии переменных будут ссылаться на одну и ту же область в памяти. Рассмотрим пример, в котором будет использовать передачу аргумента по ссылке и без ссылки:



Этот подход можно использовать, если необходимо изменить значение переменной, которая передана в функцию как параметр. Например, предопределенная функция settype() как раз работает по этому принципу. Она меняет тип переданной переменной.

Проверьте свои знания
Создать функцию, которая принимает один аргумент в виде массива и дописывает в него последним элементом количество значений массива