gpt4 book ai didi

C String数组的数组

转载 作者:太空狗 更新时间:2023-10-29 17:15:54 24 4
gpt4 key购买 nike

我将在 C 中的数组中存储字符串数组。

例如

{
{"hello", "world"},
{"my", "name", "is"},
{"i'm", "beginner", "point", "makes"}
}

我想存储以上数据。

我试过

char *arr1 = {"hello", "world"};
char *arr2 = {"my", "name", "is"};
char *arr3 = {"i'm", "beginner", "point", "makes"}

但我不知道如何将这些数组存储在一个数组中。

提前致谢。

附言。

如何打印所有元素?

const char **arr[] = {arr1, arr2, arr3};

最佳答案

如果你想要一个 char** 数组,只需这样做:

const char *arr1[] = {"hello", "world", NULL};
const char *arr2[] = {"my", "name", "is", NULL};
const char *arr3[] = {"i'm", "beginner", "point", "makes", NULL};

const char **arr[] = {arr1, arr2, arr3, NULL};

请注意,NULL 终止符在这里用于跟踪不同数组的大小,就像在 NULL-terminated string 中一样。 .

int i, j;
for(i = 0; arr[i] != NULL; ++i) {
for(j = 0; arr[i][j] != NULL; ++j) {
printf("%s ", arr[i][j]);
}
printf("\n");
}

哪个会输出:

hello world
my name is
i'm beginner point makes

关于C String数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817617/

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