Лекция 11. Параметры в процедурах

11.1 Механизм параметров.

В заголовке процедуры или функции может быть задан список формальных параметров в круглых скобках. Каждый параметр считается локальным.

Идентификаторы формальных параметров можно считать условными обозначениями в теле программы тех реальных параметров, которые будут переданы в подпрограмму при ее вызове.

Примеры заголовков процедур и функций:
Function max (A: Vector; n:byte):real;
Procedure sum (a, b:matrix; var c: matrix);
Procedure move (var s, d; n:word);

Рисунок 11.1 - Список формальных параметров и описание параметров

Но есть и ограничения, типы формальных параметров должны обозначаться идентификаторами.

Procedure max (var A: array [1..10] of byte); - недопустимое объявление.
Если необходимо передать в подпрограмму параметр с типом, определенным программистом, то используется идентификатор.

Type

MyArray = array [1..10] of byte;

….

Procedure Max (var A:MyArray);

….

Из приведенных синтаксических диаграмм следует, что в списке формальных параметров программ допустимы по крайней мере три способа их задания.

1. Параметры, перед которыми отсутствует служебное слово var и за которыми следует идентификатор типа.

2. Параметры, перед которыми указано var и за которыми следует тип.

3. Параметры, за которыми следует слово var и которые не имеют типа.

Эти три способа задания формальных параметров отражают три различных способа передачи параметров: первый способ называется передачей параметров по значению, второй способ - передачей параметров по ссылке, третий способ - передачей не типизированных параметров по ссылке.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: