Справочник языка Cи




Фактические аргументы - часть 3


main()

{

void swap(int *, int *);

int x, у;

swap(&x, &y);

}

void swap(int *a, int *b)

{

int t;

t = *a;

*a = *b;

*b = t;

}

В функции main функция swap

объявлена как не возвращающая значения, с двумя аргументами типа указатель на int. Формальные параметры а и b

также объявлены как указатели на int. При вызове функции

swap(&x, &y)

адрес х запоминается в а, адрес у

запоминается в b. Выражения *a

и *b в функции swap

ссылаются на переменные х и у

в main. Присваивания внутри функции swap изменяет содержимое х и у. Компилятор языка Си проведет проверку типов аргументов при вызове swap, поскольку в предварительном объявлении swap задан список типов аргументов. В примере типы фактических аргументов соответствуют и списку типов аргументов, и списку формальных параметров.




Содержание  Назад  Вперед