前回(2017/12/22)の内容 [2] : 動的メモリ管理 前回(2017/12/22)の内容 [2] : 動的メモリ管理と alloc/free 配列の大きさ : コンパイル(プログラム)時に決定される(固定:静的) 実行時、配列に入れるデータ量は固定とは限らない(可変:動的) この矛盾(コンパイル時と実行時の差)をどう埋めるか ? 「*十分* に大きなサイズを用意しておく」というアプローチはある 非効率だし、そもそも「十分」とはどうゆうことか ?? 動的なメモリの管理 : 実行時にその場でメモリの利用量を決める 必要に応じて、利用するメモリ量が調整できる(自分でメモリ管理する) 領域の確保 : alloc(malloc/calloc)により、必要なサイズのメモリが得られる 領域の解放 : free により、不要になった領域を明示的返却する 領域を自分で管理するために「ポインター型変数」を利用する 注意 : free を忘れると、メモリリークの原因になる