gpt4 book ai didi

c - 如何遍历指向指针的指针?

转载 作者:太空宇宙 更新时间:2023-11-04 05:14:58 25 4
gpt4 key购买 nike

假设我有以下变量:

char c[] = "ABC";
char *ptr = &c;
char **ptr2 = &ptr;

我知道我可以通过这种方式遍历指向 char 数组的指针:

int i;
for(i=0; i<3; i++){
printf("TEST******************, %c\n", ptr[i]);
}

如何遍历指向指针的指针?

最佳答案

假设:

  6   char c[] = "ABC";
7
8 char *ptr = &c;
9 char *ptr2 = ptr;
10 char **ptr3 = &ptr;

enter image description here

在这种情况下:

  • ptr 表示 c 的一个地址
  • ptr2 表示ptr 的地址。 指向指针的指针
  • ptr3ptr中存储的一个,是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);

很好的讨论供大家引用here

关于c - 如何遍历指向指针的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com