У меня есть код, который выглядит примерно так:Как разыменовывать двойной ничтожной указатель на Int указателя
int num = 5;
int *ptr = #
void **xptr = &ptr;
printf ("values:%d\n",**(int *)xptr);
Почему я не могу разыменования недействительного двойной указатель, который указывает на указатель ИНТ ? Ниже приводятся примеры из двух примеров: .
Сниппет: 1
int *ptr = #
int **xptr = &ptr;
printf ("values:%d\n",**xptr);
Сниппет 2:
void *ptr = #
printf ("values:%d\n",*(int *)ptr);
, да, это породило предупреждение для void ** xptr = & ptr. Спасибо за указание, что значение void ** должно быть адресом void *, а не адресом int или char. 'voidPointer.c: 6: 19: предупреждение: инициализация из несовместимого типа указателя [включена по умолчанию] void ** xptr = &ptr;' – hmmm
Спасибо за этот FAQ, Q4.9 действительно отвечает на мой вопрос. – hmmm