LRESULT動的メモリ確保の第四弾、メモリの解放を行うには、free()を使います。malloc()は、こちら。calloc()は、こちら。realloc()は、こちら。free()は、動的メモリ領域の確保を行うための、malloc()、calloc()、realloc()という関数と必ずセットで使用します。動的メモリの解放を忘れて、新たに領域を確保してしまったりしていくと、どんどん使用されない領域が増えてしまい、メモリ領域を食い潰してしまいます。メモリ領域の解放忘れのことを「メモリリーク」と言います。malloc()で確保し、そのアドレスを確認してみます。その後、free()で領域を解放し、もう一度アドレスを確認してみます。0;}結果003A2FC0003A2FC0環境や確保する領域によって、アドレスに違いはありますが、このように表示されます。確保した領域は解放されるが、アドレスはNULLになっているわけでは無いという事です。これもOSによっては、NULLが入る事もありますが。いうようにNULLを入れましょうという話。これもOSによっては、NULLが入る事もありますが。free関数に対して値渡しを行っているため、mbufが書き換わることはありえません。これもOSによっては、NULLが入る事もありますが。)OS云々ではなく、c言語の仕様でNULLが入る事がありません。※FREE関数にはアドレスを値渡ししているため。|コメントするname:email:url:comments:Cookieに登録この記事のトラックバックURLトラックバック機能は終了しました。2.0▲このページの先頭へ。