Какой адрес отображается при печати указателя без * или

#c #pointers

#c #указатели

Вопрос:

При печати указателя без * или amp; отображается адрес, я не знаю, что это за адрес.

Например:

 int *n;
int num = 10;
n = amp;num;

cout << n << endl;    // Prints 0020F81C
cout << amp;n << endl;   // Prints 0020f828
  

Результат:

Я знаю, cout << amp;n << endl; как напечатать адрес места в памяти.
Но как насчет cout << n << endl; ?

Ответ №1:

n ссылается на «amp;num», следовательно, это адрес места в памяти, на которое указывает num.

Ответ №2:

Вы ответили на свой собственный вопрос. Это адрес. Адрес в памяти того, на что указывает указатель, или ноль: в данном случае адрес ‘num’.

Ваш второй ‘cout’ выводит адрес самого указателя.

Комментарии:

1. Спасибо вам также за ваш ответ.