c - 定义数组的正确方法是什么?

时间:2012-02-09 09:37:31

标签: c arrays char

在c中定义数组的正确方法是什么?以下结构不起作用, 编译器给出错误"预期表达":

#include <iostream>
#include <unistd.h>

#define Lookup[9][] = {"00", "01", "02", "03", "04", "05", "06", "07", "08"}

2 个答案:

答案 0 :(得分:2)

定义和初始化数组的正确方法是

char Lookup[][3] = {"00", "01", "02", "03", "04", "05", "06", "07", "08"};

数组Lookup的每个元素本身就是另一个3字节的数组。使用零终止符计数,这对于字符串2 chars long来说是足够的空间。

数组中的元素数量可以使用表达式sizeof Lookup / sizeof *Lookup,如

int k;
for (k = 0; k < sizeof Lookup / sizeof *Lookup; k++) {
    printf("element at index %d: %s\n", k, Lookup[k]);
}

答案 1 :(得分:2)

定义int的数组,例如:

int int_array[10];

定义和初始化int

的数组
int int_array[] = { 1, 2, 3, 4, 5 };

如果初始化数组,则指定元素数是可选的。