Cтраница 4
У стеков имеется много интересных приложений. Например, когда происходит вызов функции, вызываемая функция должна знать, как вернуться в вызывающую функцию; в этом случае адрес возвращения помещается в стек. Если происходит ряд обращений к функциям, то последовательность адресов возвращения помещается в стек по принципу последним вошел - первым вышел для того, чтобы каждая функция могла вернуться в свою вызывающую функцию. Стеки поддерживают как рекурсивные вызовы функций, так и обычные нерекурсивные. [46]
При обращении к функции просто укажите для параметра имя переменной, и она будет автоматически передана по ссылке. После этого ссылка на локальное имя параметра в теле функции на самом деле относится к исходной переменной в вызывающей функции, и исходная переменная может непосредственно модифицироваться вызываемой функцией. [47]
В этом примере функции FuncA и FuncB увеличивают значение параметра Farm. Однако только функция FuncA, которая получает параметр как ссылку, изменяет значение переменной N, передаваемой из вызывающей функции. [48]
Запись flofttA означает Чсылка на ПоаГ, CcbLiKH можно рассматривать как встро-указатели, KoropLtt актсматкчсскн сокроксждаготся при каждом кс пользовании. Нагтркмерь в этой функлни cctLiKJ на th la означает ссылку на любое float, используемое для второго аргумента вызывающей функции. [49]
В вызове функции достаточно указать имя переменной и она будет передана по ссылке. Тогда упоминание в теле вызываемой функции переменной по имени ее параметра в действительности является обращением к исходной переменной в вызывающей функции и эта исходная переменная может быть изменена непосредственно вызываемой функцией. [50]