私は長い間Cを使用していませんでしたが、まだまだ新しいです。私はポインタと参照の構文が混乱しています。基本的には、配列として動的に割り当てているポインタを持つ構造体コンテナがあります。私はそれで終わったときにその記憶を解放する方法を知りたい。私は構造体ではない何かからメンバーを要求していますことを私に言って、コンパイラのエラーを取得する構造体の内部から動的に割り当てられたメモリを解放するにはどうすればよいですか?
typedef struct {
int* foo;
} Bar;
typedef Bar * BarRef;
BarRef newBar(int n) {
BarRef B = malloc(sizeof(Bar));
B->foo = calloc(n,sizeof(int));
}
/* This is what I am having trouble understanding */
void freeBar(BarRef *B) {
free(B->foo);
B->foo = NULL;
free(B);
*B = NULL;
}
:ここでは次のように見えるものです。しかし、私はRef*
を渡すと思ったので、それは構造体を渡すようなものです。私は、GCCを使用してANSI C.