我试图在 C 程序的结构中允许可变长度数组。像这样:
struct result{
int column;
int row;
const char* a[var][var];
};
我该怎么做?
即使是下面的定义也可以:
struct result{
int column;
int row;
const char* a[row][column];
};
请帮忙...
最佳答案
C 结构中不能有可变大小的数组。
你可以有指向可变大小数组的指针(你需要单独处理空间的分配),但你声明的是指针数组
如果你想要一个指针数组,试试
const char (*a)[][];
(如果您希望两个维度都是可变的,则需要将数组作为指向数组的指针的数组进行管理)
关于c - C中结构内数组的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4385521/