LRESULT動的メモリ確保の第三弾は、realloc()です。malloc()は、こちら。calloc()は、こちら。free()は、こちら。realloc()は、確保された領域(サイズ)を拡張したり縮小したりする事が出来る関数です。malloc()やcalloc()で確保した領域を、あと10バイトほど大きくしたいといった場合に有効です。サイズ変更する前に設定されていたデータは保持されます。失敗すると、NULLを返します。込み入った話になりますが、realloc()で領域サイズを変更すると戻り値である領域の先頭アドレスが変わってしまう場合があります。新たに確保された領域アドレスが返されます。test」を書き込みます。次に、realloc()で領域を100バイトに拡張しデータが保持されているかを確認してみます。testと、表示され、動的メモリ領域を拡張してもデータの内容が引き継がれているのが確認出来ました。malloc()のポインタとは違うポインタで受け取るようにして下さい。NULLを返してきた場合に、解放するメモリのアドレスが上書きされてしまう為です。-コメントするname:email:url:comments:Cookieに登録この記事のトラックバックURLトラックバック機能は終了しました。2.0▲このページの先頭へ。