gpt4 book ai didi

c - 如何在不知道大小的情况下遍历双指针。 (C)

转载 作者:行者123 更新时间:2023-12-05 02:36:15 25 4
gpt4 key购买 nike

如何在不知道它的大小的情况下遍历这个双指针。

char *arr[] = {"ant", "bat", "cat", "dog", "egg", "fly"}; 
char **ptr = arr; // Double pointer

我试过了,但是我得到了一个错误

while (*ptr){
printf("%s\n",*ptr);
ptr+=1;
}

我不想要与此类似但带有双指针的东西。

char *word = *ptr;
for (int i = 0; *(word + i) != '\0'; i++)
{
printf("%c", *(word + i));
}

最佳答案

你可以用 \0 确定字符串结尾的原因是当你将一个分配给一个指针时,一个空字节会自动放在结尾,注意字符串的定义是一个以 null 结尾的字符数组。您可以通过在末尾添加 NULL 元素来在字符串数组中模拟此行为:

char *arr[] = {"ant", "bat", "cat", "dog", "egg", "fly", NULL};
char **ptr = arr; // Double pointer

while (*ptr) {
printf("%s\n", *ptr);
ptr += 1;
}

这就是所谓的哨兵。

关于c - 如何在不知道大小的情况下遍历双指针。 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70340048/

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