C言語なら俺に聞け(入門編)Part 96
■ このスレッドは過去ログ倉庫に格納されています
0344デフォルトの名無しさん
2012/02/09(木) 08:27:51.55#define NUM 20000
typedef struct{
..............
} KOZO;
int main()
{
int i;
KOZO **kozo;
for(j=0;j<100;j++) {
以下のコードをループさせる
kozo=(KOZO **)calloc(NUM,sizeof(KOZO *)) ;
for(i=0;i<NUM;i++){
kozo[i]=(KOZO *)malloc(sizeof(KOZO));
memset(kozo[i],0,sizeof(kozo[i]));
}
このように、NUM個の構造体をmallocで確保して
ポインタをkozo[]に入れています。
****** この間に構造体のメンバに対して処理を行うコード *****
解放は
for(i=0;i<NUM;i++) free(kozo[i]);
free(kozo);
} /*for(j=0;j<100;j++)*/
どうも free(kozo[i]) ですべての領域を解放していないようなのです。
for(j=0;,,)ループの一回目は問題なく終了するのですが
二回目は解放のところでエラーがでます。
もう、3日間つまづいています。
どなた様か、よろしくご教授ください。
■ このスレッドは過去ログ倉庫に格納されています