C(Arduino)中的字符串数组(字符数组)。我该如何完成它?

时间:2012-10-17 09:17:54

标签: c arrays arduino chars

我想访问某些基本上如下的数据:

char* a[]={
    "0000000000",
    "0000000000",
    "0011111100",
    "0000100100",
    "0000100100",
    "0011111100",
    "0000000000",
    "0000000000",
};

我有大约200个这样的数据集,并希望以这种方式访问​​它。

fooBar[23]; - >这应该返回第23个字符数组(看起来像上面列出的例子)。

据我了解其他编程知识,我需要一个字符串数组。数组索引是我的查找号(最多255个)。数组值是如上所示的字符数组。

如何使用C(Arduino IDE)实现这一目标?

2 个答案:

答案 0 :(得分:3)

只需使用二维数组。像:

char a[][]={
    "0000000000",
    "0000000000",
    "0011111100",
    "0000100100",
    "0000100100",
    "0011111100",
    "0000000000",
    "0000000000",
};

答案 1 :(得分:2)

根据您的评论,我认为这就是您要求的:

const char* data_sets[][200] =
    {
        { "00000", "11111",         },
        { "22222", "33333", "44444" },
        { "55555"                   },
    };

data_sets中的每个条目都是200 const char*的数组。访问:

for (size_t i = 0; i < sizeof(data_sets) / sizeof(data_sets[0]); i++)
{
    const char** data_set = data_sets[i];
    printf("data_set[%u]\n", i);
    for (size_t j = 0; data_set[j]; j++)
    {
        printf("  [%s]\n", data_set[j]);
    }
}

请参阅http://ideone.com/6kq2M的在线演示。