ПАСКАЛЬ ПОМОГИТЕ 4. Почему при обращении к процедуре, аргумент, передаваемый...

+637 голосов
3.6m просмотров

ПАСКАЛЬ ПОМОГИТЕ 4. Почему при обращении к процедуре, аргумент, передаваемый параметру-переменной, может быть только переменной, а не константой или выражением?


Информатика (197 баллов) | 3.6m просмотров
Дан 1 ответ
+178 голосов

Ответ:

Параметр-переменная в Паскале передается по ссылке. Упрощенно это означает, что процедуре сообщается адрес области памяти, где находится исходное значение параметра и куда процедура сможет записать его новое значение. В случае, если бы там была константа, процедура испортила бы ее значение. Ну а значению выражения отводится временная память, адрес которой не сохраняется. Остается только переменная, которая четко сопоставляется с адресом в программе. Но, еще раз, это очень упрощенное изложение.

(1.6k баллов)