Предположим:
6 char c[] = "ABC";
7
8 char *ptr = &c;
9 char *ptr2 = ptr;
10 char **ptr3 = &ptr;
![enter image description here](https://i.stack.imgur.com/80mRR.png)
В этом сценарии:
ptr
представляет адрес c
ptr2
представляет адрес ptr
. Указатель на указатель ptr3
- это значение , сохраненное в ptr
, то есть адрес c
.
**ptr3=&ptr
означает - Возьмите адрес ptr
, посмотрите внутрь и присвойте его значение (не адрес) ptr3
Если я правильно понял ваш вопрос, вам нужноиспользовать указатели на указатели: ptr2
в моем примере вместо ptr3
Если это так, вы можете получить доступ к таким элементам, как:
ptr2[0] = A
ptr2[1] = B
ptr2[2] = C
Для записи следующее приведет к тому жеРезультаты.Попробуйте.
12 printf ("===>>> %x\n", ptr2);
13 printf ("===>>> %x\n", *ptr3);
Хорошее обсуждение для вашей справки: здесь