我有一个将结构作为参数的函数,例如:
add_new_structure(structure s);
然后存放在里面
structure structure_list[200];
问题:
1.当我想使用结构时,我有一个类似的功能
structure *getStructure(int id)
{
return &structure_list[id];
}
如果我添加一个这样的结构,它会起作用吗:
void init()
{
structure test;
memset(&test,0,sizeof(structure));
add_new_structure(test);
}
然后从另一个函数调用getStructure?像这样:
void anotherFunction()
{
structure *got_test = getStructure(0);
}
因为我记得我不能有局部变量然后从另一个函数调用它,对吗?
2.这样存放更好吗?
改变add_new_structure() parameter to structure *s
;
structure *structure_list[200];
然后通过调用 add_new_structure(&test);将其存储在里面
3. 哪个更好?或者正确的方法是什么?