Gen*_*ene 0 c string pointers char
假设我有以下变量:
char c[] = "ABC";
char *ptr = &c;
char **ptr2 = &ptr;
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过这种方式迭代指向字符数组的指针:
int i;
for(i=0; i<3; i++){
printf("TEST******************, %c\n", ptr[i]);
}
Run Code Online (Sandbox Code Playgroud)
如何遍历指向指针的指针?
认为:
6 char c[] = "ABC";
7
8 char *ptr = &c;
9 char *ptr2 = ptr;
10 char **ptr3 = &ptr;
Run Code Online (Sandbox Code Playgroud)

在这种情况下:
ptr代表一个地址cptr2表示 的地址ptr。指向指针的指针ptr3是存储在 中的值ptr,它是 的地址c。**ptr3=&ptr意味着 - 取地址ptr,查看内部并将其值(不是地址)分配给ptr3
如果我正确理解您的问题,您需要使用指向指针的指针:ptr2在我的示例中而不是ptr3
如果是这样,您可以访问以下元素:
ptr2[0] = A
ptr2[1] = B
ptr2[2] = C
Run Code Online (Sandbox Code Playgroud)
为了记录,以下将产生相同的结果。尝试一下。
12 printf ("===>>> %x\n", ptr2);
13 printf ("===>>> %x\n", *ptr3);
Run Code Online (Sandbox Code Playgroud)
供您参考的好讨论在这里
| 归档时间: |
|
| 查看次数: |
7648 次 |
| 最近记录: |