Какое значение содержит сам указатель, как переменная? - C (СИ)
Формулировка задачи:
Здравствуйте, я новичок. Не могу понять никак один момент в указателях. Если *number - это значение в адресе. &number это адрес, где хранится значение, тогда просто number что значит?
И ешо как правильно распечатать все три вида значение? printf("%p %p %d", *number,&number,number);
Решение задачи: «Какое значение содержит сам указатель, как переменная?»
textual
Листинг программы
int a=5;// переменная в которой лежит 5 int* b=&a; // указатель который указывает на адрес в переменной в которой лежит 5, по сути тоже переменная printf("%d %d %d", b,// выдаст на экран адрес по которому лежит 5 *b,// выдаст на экран 5,т.е значение по адресу в котором лежит 5, разыменованный указатель &b// покажет адрес по которой лежит указатель );
Объяснение кода листинга программы
- Объявляется переменная типа int с именем
a
и инициализируется значением 5. - Объявляется указатель типа int с именем
b
и инициализируется адресом переменнойa
. - Выполняется функция printf, которая выводит на экран значение указателя
b
, значение, на которое указывает указательb
(переменнуюa
) и адрес указателяb
. - Значение указателя
b
представлено в шестнадцатеричной системе счисления. - Значение переменной
a
представлено в десятичной системе счисления. - Адрес переменной
a
представлен в шестнадцатеричной системе счисления. - Адрес указателя
b
представлен в шестнадцатеричной системе счисления.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д