配列を安全に解放する必要がchar** a;
あります。これは文字列リストのようなものです。中に何人いるか知ってchar*
います。しかし、すべてのメモリを解放するのに苦労しています。20 バイトを解放するために使用できる関数のようなものはありますか? 私は試した:
for (int i = 0; i < length; i++)
if (a[i] != null)
free(a[i]); // some of a[i] ARE null, non-null have different sizes
free(a); // crashes here
asm
しかし、デバッグで実行時エラーが発生します。a 内のすべてが malloc されています。私は5つの文字列をmallocedしました(各ポインタは4バイト)-> 20バイト。どうすれば全体を解放できchar**
ますか?