Составители:
Рубрика:
44
виду адрес в памяти компьютера. Адрес представляет собой простое
целое число, но его нельзя трактовать как переменную или константу
целого типа. Если переменная по смыслу является указателем, то она
должна быть соответствующим образом объявлена. Форма объявления
указателя следующая:
Тип *<имя переменной>;
В этом объявлении тип – некоторый допустимый для языка С тип
данных, на который указывает указатель. Знак * – означает, что следу-
ющая за ним переменная является указателем. Например:
char *ch;
int *temp, i, *j;
float *pf, f;
Здесь объявлены указатели ch,temp,j,pf, переменная i типа int и пере-
менная f типа float.
С указателями связаны две специальные операции & и *. Обе эти
операции являются унарными, т. е. имеют один операнд, перед кото-
рым они ставятся. Операция & соответствует по смыслу операции взя-
тия (определения) адреса. Операция * является по смыслу операцией
взятия (определения) значения по указанному адресу. Данные опера-
ции нельзя спутать с соответсвующими им по написанию бинарными
операциям – поразрядным AND и операцией умножения, так как они
являются унарными, что всегда видно из контекста программы.
При объявлении указателя очень важным является базовый тип, ко-
торый сообщает компилятору сколько байт памяти занимает перемен-
ная, на которую указывает данный указатель. Простейшие действия с
указателями проиллюстрируем на примере следующей программы:
# include < stdio.h >
/* Пример 23 */
main
{
float x=12.3, y;
float *p;
p=&x;
y=*p;
printf(“ x = %f y = %f”,x,y);
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »