Примеры описания указателей:
int *pi; /*указатель на переменную типа целого*/char *pc; /*указатель на символьную переменную*/float *pf, *pg; /* указатели на переменные с плавающей точкой*/Спецификация типа задает тип переменной, на которую ссылается указатель, а символ звездочка (*) определяет саму переменную как указатель. Описание вида int *pi говорит, что pi - это указатель и что *pi - величина типа int.
При вызове функции информация о переменной может передаваться функции в двух видах. Если мы используем форму обращения
function1(x);происходит передача значения переменной x. Если же мы используем форму обращения
function2(&x);происходит передача адреса переменной x. Первая форма обращения требует, чтобы определение функции включило в себя формальный аргумент того же типа, что и x:
function1(num)int num;Вторая форма обращения требует, чтобы определение функции включало в себя формальный аргумент, являющийся указателем на объект соответствующего типа:
function2(&ptr)int *ptr;! | Пользуйтесь первой формой, если входное значение необходимо функции для некоторых вычислений или действий, и второй формой, если функция должна будет изменять значения переменных в вызывающей программе. Программисты, работающие на языке Паскаль, могут заметить, что первая форма вызова аналогична обращению с параметром-значением, а вторая-с параметром-переменной. |