我已经做了一些搜索,但我发现的任何内容都没有回答我关于结构的问题:
在我的程序中,我有两个结构:一个包含数据,另一个包含第一个结构的数组(用于使返回的struct数组更容易)。
在运行几行代码之前,我不知道上述结构数组的大小。根据我的发现,在已经声明数组之后,没有办法定义数组(或任何类型)的大小,尽管我想知道结果是否适用。
如果没有,是否有办法在不使用malloc的情况下定义结构中先前声明的数组的大小?将malloc与struct数组一起使用似乎有点复杂,我无法绕过它。
typedef struct
{
char **data;
} struct1;
typedef struct
{
struct1 data[];
} struct2;
int main(int argc, char **argv)
{
//Pretend there is code here that finds the size I need
size = 5;
struct2 Info;
Info.data = new struct1[size]; //Clearly this won't work, but does C offer anything comparable?
return 0;
}