то происходит передача адреса переменной
Если мы используем форму обращения
function2(&x);
то происходит передача адреса переменной х. Теперь измененное значение переменной х может использоваться в вызывающей функции. Первая форма обращения требует, чтобы определение функции включало в себя формальный аргумент того же типа,что и х:
function l(num)
int num;
Вторая форма обращения требует, чтобы определение функции включало в себя формальный аргумент, являющийся указателем на один из объектов соответствующего
типа:
function2(x)
int *x;
Обычно пользуются первой формой, если входное значение необходимо функции для некоторых вычислений или действий, и второй формой, если функция должна будет изменять значения переменных в вызывающей программе. Выше вторая форма вызова \же применялась при обращении к ф\нкции scanf(). Когда мы хотим ввести некоторое значение в переменную num, мы пишем scanf(''%d",&num). Данная функция читает значение, затем, используя адрес, который ей дается, помещает это значение в память.
Пример: пусть необходимо поменять местами заданные значения переменных х и у.
Программа 102
#include<stdio.h>
main()
{
int
х, у;
int interchange(); /* описание функции типа int */
x=l; y=3;
printf("Имели... x=l y=3\n") ;
interchange(&x, &y); /* обращение к функции (в данном случае передаются адреса переменных) */
printf("Получили... x=%d y=%d", х, у);
}
/* вызываемая функция */
int interchange(u, v)
int *u, *v;
(
int p;
p=*\i; *u=*v; *v=p;
}
Результат работы программы:
Имели х=1 у=3
Получили х=3
у=1
В этой программе в вызове функции interchange(&x,&y) вместо передачи значений х и у мы передаем их адреса. Это означает, что формальные аргументы и и v, имеющиеся в спецификации interchanage(u,v), при обращении будут заменены адресами и, следовательно, они должны быть описаны как указатели.
Поскольку х и у целого типа, u и v являются указателями на переменные целого типа, и мы вводим следующее описание:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий