次のような構造体をパラメーターとして受け取る関数があります。
add_new_structure(structure s);
次にそれを中に保管します
structure structure_list[200];
質問:
1.構造を使いたいときは、次のような機能があります
structure *getStructure(int id)
{
return &structure_list[id];
}
次のような構造を1つ追加すると、機能しますか?
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.どちらが良いですか?またはそれを行う正しい方法は何ですか?