如何创建一系列C串

How to create an array of C-strings?

本文关键字:一系列 创建 何创建      更新时间:2023-10-16

,所以我想在C 中创建一个C串数组。是的,我知道C 使用字符串数据类型,但是我正在使用的内容需要我制作一系列C弦。c串本身就是一系列炭。那么,制作一系列C串就像制作二维char阵列一样吗?然后,要访问每个单独的字符,我需要指定其各自的行和列位置。但是,我想将其想象为单维的C弦数组,每个索引都返回完整的C弦。我怎样才能做到这一点?请解释。如何循环循环循环,打印出来或返回每个C串,而不是嵌套循环分别返回每个char?

对于字符串文字,您可以做到这一点:

const char *strings[] = { "foo", "bar", "blech" };

对于要修改的一系列字符串,您可能会做些类似这样的事情:

char strings[3][80] = { "foo", "bar", "blech" };

无论哪种方式,您都可以像这样打印它们:

for (int i = 0; i < 3; ++i)
{
    std::cout << strings[i] << std::endl;
}

或更加愚蠢的:

for (auto & s : strings)
{
    std::cout << s << std::endl;
}

c-style字符串基本上是用 ''终止的 char array 。要拥有一系列"字符串",您只有一系列数组,例如

char my_array_of_strings[ARRAY_SIZE][STRING_SIZE + 1];  // +1 for terminator

您可能有一系列指针:

char* my_array_of_strings[ARRAY_SIZE];

哪个最佳取决于您的用例。