Какое значение содержит сам указатель, как переменная? - 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// покажет адрес по которой лежит указатель
);

Объяснение кода листинга программы

  1. Объявляется переменная типа int с именем a и инициализируется значением 5.
  2. Объявляется указатель типа int с именем b и инициализируется адресом переменной a.
  3. Выполняется функция printf, которая выводит на экран значение указателя b, значение, на которое указывает указатель b (переменную a) и адрес указателя b.
  4. Значение указателя b представлено в шестнадцатеричной системе счисления.
  5. Значение переменной a представлено в десятичной системе счисления.
  6. Адрес переменной a представлен в шестнадцатеричной системе счисления.
  7. Адрес указателя b представлен в шестнадцатеричной системе счисления.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы