Cтраница 4
Используйте указатели для передачи параметров, которые могут быть изменены вызываемой функцией, и используйте ссылки на константы для передачи параметров большого размера, не подлежащих изменению. [46]
Существуют различные способы передачи параметров в подпрограммы. В зависимости от способа использования подпрограмм, типов передаваемых параметров и того, чему больше придается значение ( т.е. безопасности или эффективности), предпочтительным может оказаться использование одного из этих способов. Таким образом, в идеале некоторый язык программирования должен, обеспечивать все возможные способы передачи параметров в подпрограммы. [47]
Более сложным способом передачи параметров является использование таблицы, содержащей значения или адреса параметров. [48]
Это определяется способом передачи параметра через стек. В версии 4.0 языка Турбо-Паскаль время передачи строковых параметров существенно зависит от выбранных директив компиляции. В табл. 2 данные получены при значениях директив по умолчанию и при изменении отдельных директив для версии 4.0. Из таблицы видно, что отмена контроля переполнения стека и генерации отладочной информации уменьшает время передачи параметров. Этот фактор часто недооценивается программистами. [49]
![]() |
Старшинство операций. [50] |
Существуют два способа передачи параметров функции - по значению и по ссылке. Все вызовы функций в С являются вызовами по значению. Для этих целей в С существует возможность вызова функции по ссылке. В С для организации вызова по ссылке программисты используют указатели и операцию косвенной адресации. Если вызывается функция, аргументы которой должны изменяться, то в этом случае ей передаются адреса аргументов. Обычно для этой цели применяется операция взятия адреса ( &) к переменной, значение которой будет изменяться. [51]