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