在c中定义数组的正确方法是什么?以下结构不起作用, 编译器给出错误"预期表达":
#include <iostream>
#include <unistd.h>
#define Lookup[9][] = {"00", "01", "02", "03", "04", "05", "06", "07", "08"}
答案 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 };
如果初始化数组,则指定元素数是可选的。