- это адрес памяти, указатели на самом деле просто адрес памяти или есть что-то, чего мне здесь не хватает.
nu
- это указатель на node
, и это означает, что nu
«указывает на» место в памяти (в данном случае в куче), где был создан node
. Ячейка памяти - это адрес, поэтому да, nu
по сути является адресом памяти. Если вы распечатаете его, вы получите шестнадцатеричное значение - сам адрес.
Какое значение имеет * nu, это объект, содержащийся в адресе
Синтаксис например, *nu
(или обычно *pointer
) переводится как достижение точки, на которую указывает указатель. Оператор *
, который называется оператором разыменования , используется в C ++ для получения значения, стоящего за указателем.
& nu дает мне сам адрес памяти.
&
- это способ получить адрес переменной. Запись &nu
означает, что вы хотите получить адрес переменной nu
. Обратите внимание, что это не адрес node
, а сама переменная nu
. Эта переменная тоже находится в памяти (в стеке), и у нее есть адрес.
, если бы nu было целым числом, он дал бы мне номер?
Нет, ты тоже получишь адрес. &
дает вам адрес переменной, а не значение. Это может показаться сложным с указателем, потому что значением указателя является адрес.
* & nu
В этом случае вы получили адрес nu
переменная (& n) и сразу же достигла значения, стоящего за ней (* & nu). Это эквивалентно просто nu
, потому что значение - это адрес node
где-то в куче.