ПАСКАЛЬ ПОМОГИТЕ 4. Почему при обращении к процедуре, аргумент, передаваемый параметру-переменной, может быть только переменной, а не константой или выражением?
Параметр-переменная в Паскале передается по ссылке. Упрощенно это означает, что процедуре сообщается адрес области памяти, где находится исходное значение параметра и куда процедура сможет записать его новое значение. В случае, если бы там была константа, процедура испортила бы ее значение. Ну а значению выражения отводится временная память, адрес которой не сохраняется. Остается только переменная, которая четко сопоставляется с адресом в программе. Но, еще раз, это очень упрощенное изложение.
Answers & Comments
Ответ:
Параметр-переменная в Паскале передается по ссылке. Упрощенно это означает, что процедуре сообщается адрес области памяти, где находится исходное значение параметра и куда процедура сможет записать его новое значение. В случае, если бы там была константа, процедура испортила бы ее значение. Ну а значению выражения отводится временная память, адрес которой не сохраняется. Остается только переменная, которая четко сопоставляется с адресом в программе. Но, еще раз, это очень упрощенное изложение.