3
Почему мы не можем сохранить адрес указателя в другом указателе? Указатель - это всего лишь особый тип переменной и имеет некоторый адрес, но почему я не могу сохранить этот адрес в другой указатель?Адрес указателя
int main()
{
int * ptr;
int * q;
q = &ptr;
}
Почему этот код не так ли?
Почему использовать **, любую логическую причину ?? –
@NileshKumar: Это означает «указатель на указатель». В общем случае ' *' означает "указатель на' '"; поэтому 'int *' означает "указатель на' int' "и' int ** 'означает" указатель на указатель на 'int'". –
Кроме того, тип «адрес-из» оператора '&' - _pointer-to-operand-type_. Поэтому, если у вас есть 'int foo' и do' & foo', то результатом будет 'int *'. Аналогично, если у вас есть 'char * bar' и do' & bar', то результатом будет 'char **'. Поэтому '&' добавляет еще одну звезду ;-) – DarkDust