• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:動的メモリ 解放がうまくいかない)

動的メモリ解放の問題とメモリ不足の原因

このQ&Aのポイント
  • 動的メモリを解放する際に効果がないため、メモリ容量が徐々に増加し、エラーが発生しています。
  • ファイルを一行ずつ読み込んでデータを取得する際に、メモリを動的に確保していますが、解放する際に問題が生じています。
  • 解放処理が正しく行われておらず、ループが進むごとにメモリ使用量が増加しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.2

for(i=0;i<count;i++) btxt[i]=(char *)calloc(120,sizeof(char)); /*一行120文字まで*/ for(v=0;v<120;v++) if(btxt[v]){free(btxt[v]);btxt[v]=NULL;} 上の2行をよく見比べてください。何回callocして何回freeしてますか?

et726
質問者

お礼

だぁ~ お恥ずかしい。 何回callocして何回freeしているか。肝に銘じます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

for(v=0;v<120;v++){ を for(v=0;v<count;v++){ にしないとダメなんじゃないでしょうか?

et726
質問者

お礼

ありがとうございます。 三日ほど悩んでましたw。

すると、全ての回答が全文表示されます。

関連するQ&A