如何在不知道它的大小的情況下遍歷這個雙指標。
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));
}
uj5u.com熱心網友回復:
您可以使用 with 確定字串結尾的原因\0是因為當您為指標分配一個空位元組時,會自動將一個空位元組放在末尾,請注意字串的定義是一個空字符終止陣列。您可以通過在末尾添加一個 NULL 元素來模擬字串陣列中的這種行為:
char *arr[] = {"ant", "bat", "cat", "dog", "egg", "fly", NULL};
char **ptr = arr; // Double pointer
while (*ptr) {
printf("%s\n", *ptr);
ptr = 1;
}
這就是所謂的哨兵。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/384326.html
上一篇:Unity、C#、指標解決方法?
