1

malloc() を実行すると、メモリが割り当てられ、ベース アドレスが返されます。free() を呼び出すと、malloc() によって割り当てられたメモリが解放されます。フリーによって割り当てられたバイト数がベースアドレスのほかに保持され、free() がその数をチェックし、割り当てられたメモリを解放するのではないかと疑っています。その値(割り当てられたバイト数)を出力することは可能ですか?

4

3 に答える 3

3

アプリケーションは、ポインターに割り当てられたバイト数と、このメモリーが既に再作成されているかどうかを追跡する必要がありますfree()

C では、ポインター自体を介してポインターに割り当てられたメモリの量を取得する移植可能な方法はありません。

于 2013-09-20T08:11:25.843 に答える