Hop*_*r06 -1 c arrays malloc struct
我一直在寻找一种方法来自己做这件事,但我还没有找到与我的情况完全匹配的情况,而且我的经验不足,无法从类似情况中得出该怎么做。所以我希望在我的具体情况下得到一些帮助。
我有一个结构体,我需要创建 3 个它们的数组。但是当我使用 [] 分配内存时,内存不足。所以我想我需要使用malloc;但我不知道该怎么做。这是我的代码:
struct key {
char symbol[10];
int quantity;
char GroupID[10];
};
Run Code Online (Sandbox Code Playgroud)
然后在主要我有:
struct key PrevKeys= malloc(345000*sizeof(struct key));
struct key ActivityKeys= malloc(345000*sizeof(struct key));
struct key CurKeys= malloc(345000*sizeof(struct key));
Run Code Online (Sandbox Code Playgroud)
但是我不断从编译器中收到“无效的初始值设定项”错误。
早些时候我试过这个,它编译得很好,但是当我运行它时给了我一个段错误(我假设是因为堆栈中没有足够的内存):
struct key PrevKeys[345000];
struct key ActivityKeys[345000];
struct key Curkeys[345000];
Run Code Online (Sandbox Code Playgroud)
关于如何分配这 3 个结构数组的任何想法都将非常非常感谢。
struct key* PrevKeys= malloc(345000*sizeof(struct key));
struct key* ActivityKeys= malloc(345000*sizeof(struct key));
struct key* CurKeys= malloc(345000*sizeof(struct key));
Run Code Online (Sandbox Code Playgroud)