次のように、構造体へのポインターを使用する必要がある関数があります。
void func(struct Info* info){
struct Block *p = malloc(sizeof(struct Block));
sub_func1(p, info); // here will fill the content pointed by p
sub_func2(p); // here just use content in p
free(p);
}
この関数はファイル内に.c
あり、.c
ファイルは ac プロジェクトの 1 つのファイルです。割り当てられたメモリを再利用したいので、頻繁malloc
にfree
. つまり、一度だけ実行しmalloc
ます。しかし、私はどこを定義し、指し示し、実行するか途方に暮れていますmalloc
。誰かアドバイスをいただけますか?
ところで、ファイルにいくつかの静的変数と静的関数がある場合、またはのように、対応するファイルで.c
それらを宣言する必要がありますか?.h
extern static var;
extern static void func();
ありがとう!