2

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

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

我有大约 200 个这样的数据集,并且想顺便访问它。

fooBar[23];--> 这应该返回第 23 个字符数组(类似于上面列出的示例)。

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

如何使用 C(Arduino IDE)来实现?

4

2 回答 2

4

只需使用二维数组。喜欢:

char a[][]={
    "0000000000",
    "0000000000",
    "0011111100",
    "0000100100",
    "0000100100",
    "0011111100",
    "0000000000",
    "0000000000",
};
于 2012-10-17T12:28:12.610 回答
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上的在线演示。

于 2012-10-17T10:13:04.017 回答