我是C的新手,正在尝试创建一个全局数组来保存指向结构的指针:
person* persons[n];
但是,我需要将上面的变量设为全局变量。为此,我需要在所有函数之外声明它。但是我怎么能不知道n是什么呢?真的在这里迷路了,任何帮助都将不胜感激!
以下是我最终要实现的目标:
person* persons[];
function () {
initialize global array here
}
最佳答案
使用指针的指针并在init函数中调用malloc
。
person **persons;
int n = 42;
void init(void)
{
persons = malloc(n * sizeof *persons);
if (!persons) {
/* handle malloc failure here */
}
}
关于c - 如何初始化一个包含指向结构体的指针的全局数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33247224/