もっともよく使用されるインタフェースは次のとおりです。
その他の動的メモリー割り当てインタフェースは、memalign(3C)、valloc(3C)、および realloc(3C) です。
malloc は、最低でも要求されたメモリー量のメモリーブロックへのポインタを返します。この (メモリー) ブロックは、任意のタイプのデータを格納できるように境界整列されます。
free は、malloc、calloc、 realloc、memalign、または valloc で取得したメモリーをシステムメモリーに返します。動的メモリー割り当てインタフェースによる予約をしていないブロックを解放しようとするとエラーが発生し、プロセスがクラッシュする可能性があります。
calloc は、0 で初期化されたメモリーブロックへのポインタを返します。calloc で予約されたメモリーをシステムに返すには、watchmalloc、free いずれでも可能です。このメモリー (ブロック) は、指定されたサイズの要素数からなる配列を格納できるように割り当ておよび境界整列されます。
realloc は、プロセスに割り当てられているメモリーブロックのサイズを変更します。realloc は、割り当てられているメモリーブロックのサイズを増減するのに使用できます。realloc は、問題を起こさずにメモリー割り当てを減らすことができる唯一の方法です。再割り当てされたメモリーブロックの位置は変更される可能性がありますが、その内容はメモリー割り当てのサイズが変更されるまで変更されません。