Cтраница 2
Массивы передаются функциям с помощью моделируемого вызова по ссылке - вызываемые функции могут модифицировать значения элементов в исходных массивах оператора вызова. [16]
Вторым аргументом APPLY1 - АРГУМЕНТЫ - является список значений аргументов вызываемой функции, который вычисляется функцией EVAL-СПИСОК на следующей странице. [17]
Используйте указатели для передачи параметров, которые могут быть изменены вызываемой функцией, и ссылки на константы для передачи параметров большого размера, не подлежащих изменению. [18]
Используйте указатели для передачи параметров, которые могут быть изменены вызываемой функцией, и используйте ссылки на константы для передачи параметров большого размера, не подлежащих изменению. [19]
Передача объектов по значению хороша с точки зрения безопасности, поскольку вызываемая функция не имеет доступа к исходному объекту, однако вызов по значению может снижать производительность системы в случае создания копии большого объекта. Объект может передаваться по ссылке путем передачи либо указателя на объект, либо ссылки на него. Передача по ссылке повышает производительность, но слабее с точки зрения безопасности, поскольку вызываемой функции предоставляется доступ к исходному объекту. Безопасной альтернативой является передача объекта по ссылке на константу. [20]
Передача объекта вызовом по значению хороша с точки зрения безопасности, поскольку вызываемая функция не имеет доступа к исходному объекту, но вызов по значению может ухудшить производительность в случае создания копии большого объекта. Объект может быть передан вызовом по ссылке путем передачи либо указателя, либо ссылки на объект. Вызов по ссылке способствует хорошей производительности, но с точки зрения безопасности хуже предыдущего, поскольку функции предоставлен доступ к исходному объекту. [21]
Обращение к функции осуществляется с помощью указателя функции, состоящего из идентификатора вызываемой функции и списка фактических параметров, заключенного в круглые скобки. Указатели функций должны использоваться в выражениях. [22]
Отдельный элемент массива, который передается в функцию и который изменяется в вызываемой функции, в вызывающей функции будет содержать измененное значение. [23]
Когда программа встречает имя функции, то управление из точки вызова передается вызываемой функции, выполняются операторы вызываемой функции и управление возвращается структуре, вызвавшей функцию. [24]
Когда аргумент передается по значению, значение переменной копируется и копия передается вызываемой функции. Изменения копии в вызываемой функции не отражаются на значении первоначальной переменной. [25]
Передача объекта вызовом по значению хороша с точки зрения безопасности, по скольку вызываемая функция не имеет доступа к исходному объекту, но вызов по значению может ухудшить производительность в случае создания копии большого объекта. Объект может быть передан вызовом по ссылке путем передачи либо указателя, либо ссылки на объект. Вызов по ссылке способствует хорошей произ водительности, но с точки зрения безопасности хуже предыдущего, поскольку функ ции предоставлен доступ к исходному объекту. [26]
Когда программа доходит до вызова функции, управление передается из точки активации к вызываемой функции, функция выполняется и управление возвращается оператору вызова. [27]
В языке С передача массива в функцию происходит путем имитации передачи параметра по ссылке - вызываемые функции могут изменять значения элементов в подлинных массивах вызывающих программ. Имя массива фактически является адресом первого элемента массива. Поскольку происходит передача начального адреса массива, вызываемая функция точно знает, где хранится массив. [28]
С автоматически передает массив в функцию путем имитации передачи параметра по ссылке - при этом вызываемые функции могут изменять значения элементов в исходных массивах вызывающих функций. Ведь имя массива фактически является адресом его первого элемента. Поскольку передается начальный адрес массива, вызываемая функция точно знает, где хранится этот массив. Таким образом, когда вызываемая функция изменяет в своем теле элементы массива, она изменяет подлинные элементы массива в их исходных ячейках памяти. [29]
В вызове функции указывается ее имя и дается информация ( в виде аргументов), необходимая вызываемой функции для ее работы. [30]