メモリ管理 レッスン2
malloc・free
malloc()・free()・void*のキャストを学びましょう。
malloc と free の基本
malloc(size) は指定バイト数のメモリをヒープに確保し、void * を返します。 失敗時はNULLを返すので必ずチェックしましょう。free(ptr) で解放します。
malloc(n * sizeof(型))でn要素分確保- 戻り値の
void *を適切な型にキャスト - 確保したメモリは初期化されない(ランダム値)
- 必ず
free()で解放する
基本的な malloc・free
整数配列を動的確保して使用後に解放するパターンです。
Cエディタ
2次元配列の動的確保
ポインタのポインタで2次元配列を動的に確保できます。
Cエディタ
void * とキャスト
void * は型なしポインタです。malloc の戻り値を適切な型にキャストして使います。
Cエディタ