Pointers
Иногда мы хотим знать, где переменная находится в памяти. Указатель содержит адрес переменной, которая имеет особую ценность. При объявлении указателя, звездочка помещается непосредственно перед указателем имени.
Адреса памяти, где хранится переменная, можно найти, поставив впереди амперсанд по имени переменной.
int num; /* Normal integer variable */
int *numPtr; /* Pointer to an integer variable */
Следующий пример печатает значение переменной и адрес в памяти переменных.
printf("The value %d is stored at address %X\n",
num, &num);
Чтобы присвоить адрес переменной для числ указатель numPtr, вы присваиваете адрес переменной - количество, как в примере, приведенном следующем :
numPtr = #
Чтобы узнать, что хранится по адресу, на который указывает numPtr, переменная должна быть разыменовываются. Dereferencing но со звездочкой, что указка была объявлена с.
printf("The value %d is stored at address %X\n",
*numPtr, numPtr);
Все переменные в программе проживание в памяти. Приводимые ниже просьбой зарезервировать компилятор 4 байта памяти в 32-разрядных компьютеров для чисел с плавающей запятой переменная х, то ставится значение 6,5 в нем.
float x;
x = 6.5;
Поскольку адрес в памяти, любой переменной можно получить, поставив перед оператором и поэтому ее название и "Х" в адрес x. C позволяет нам сделать еще один этап дальнейшего определения и переменные, называемого указателем, который содержит адреса других переменных. Скорее мы можем сказать, что указатель на другие переменные. Например :
float x;
float* px;
x = 6.5;
px = &x;
определяет пикселей будет указатель на объекты типа поплавка, и устанавливает его равным адресу x. Таким образом, * пикселей означает ценность х :
|