【发布时间】:2013-04-16 10:47:13
【问题描述】:
大家好,我正在尝试初始化 2D 字符数组,但遇到了问题。
int size = 300 * 400;
char * frame[3] = malloc(sizeof(char *)*size*3);
给 m:error: invalid initializer。
所以我尝试了:
int size = 300 * 400;
char frame[3][size] = malloc(sizeof(char *)*size*3);
然后我得到error: variable-sized object may not be initialized?
有什么想法可以用 3 行初始化一个大小为 300*400 的数组吗?
谢谢。
【问题讨论】:
-
并非所有 C/C++ 编译器都支持使用可变大小声明数组。
-
您是否尝试将 3 个字符指针的数组分配给 120000 个字符的缓冲区? 300 * 400 - 数组中的某种数组有什么意义?
标签: c arrays initialization char multidimensional-array