次のように、構造体へのポインターを使用する必要がある関数があります。
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それらを宣言する必要がありますか?.hextern static var;extern static void func();
ありがとう!