私はメモリ領域(構造体、配列)へのポインタを介してメモリにたくさんのものを格納するこのプログラムを持っており、いつでもプログラムを初期化できるこのユーザを持っています。 initを実行すると、プログラムは以前に使用されたメモリを解放しなければならず、それがキャッチです。Cの空きメモリ:有効なポインタを確認する方法?
最初のinitでは、私のポインタが指しているものは何もわかりません。特に、それらがゴミであるかどうかはわかりません。しかし、そうでない場合は、彼らが指しているものを解放する必要があります。どのように私は知っていますか?
あなたは単純にできません。 – George
@George私は恐れていました。アイデアが私の頭の中に飛び込んできました。最初のinitをmallocingだけで分離して解放しないようにしました。システムがちょうど新しく始まりました。初めてのものですから、私は「reinits」と呼んで、以前のmallocの後で、ポインタとmallocの背後にあるものを解放することができます。 Stackoverflowは、他の人よりもむしろインスピレーションを通じて答えをもたらすことがあります。 – Charles
ポインタの "簿記"を行う必要があります。もう何も必要ないときはいつでも解放し、ポインタをnullに設定します。あなたのinitでは、nullでないものは解放されなければならない有効なポインタです。 –