Cで簡単なカウンター構造を書きました:
typedef struct{
int value;
}Counter;
次に、簡単な実装をいくつか書きました。
void createCounter(Counter *dCount)
{
dCount = (Counter*)malloc(sizeof(Counter));
dCount->value = 0;
}
void FreeResource(Counter *dCount)
{
free(dCount);
}
今、主に、作成したポインターを解放したかったのですが、解放されているポインターが割り当てられていないと不平を言いました.コードを見て、createCounter()関数を呼び出したときにメモリを割り当てたと思いましたか?
int main()
{
Counter m;
CreateCounter(&m);
FreeResource(&m); //run time error given here..
return 0;
}