Рассмотрим следующие высказывания :
int var_x;
int* ptrX;
var_x = 6;
ptrX = &var_x;
*ptrX = 12;
printf("value of x : %d", var_x);
Первая строка причины компилятор зарезервировать пространство в памяти для целочисленных. Вторая строка сообщает компилятору зарезервировать пространство для хранения указателя.
Указатель является местом для хранения адреса. Третья строка должна напомнить вам, т. заявлений. Адрес "и" компилятор подсказывает оператору выйти на место ее хранения var_x, и затем ввести адрес ячейки хранения в ptrX.
Звездочкой перед переменной указывает компилятор dereference указатель и идите по памяти. Тогда вы сможете сделать уступки переменная хранится в этом месте. Можно ссылку переменной и ее данные доступа через указатель. Давайте посмотрим пример указания :
/* illustration of pointer use */
#include <stdio.h>
int main()
{
int index, *pt1, *pt2;
index = 39; /* any numerical value */
pt1 = &index; /* the address of index */
pt2 = pt1;
printf("The value is %d %d %d\n", index, *pt1, *pt2);
*pt1 = 13; /* this changes the value of index */
printf("The value is %d %d %d\n", index, *pt1, *pt2);
return 0;
}
Выпуск программы будет выглядеть следующим образом :
The value is 39 39 39
The value is 13 13 13 |
|