動的メモリと静的メモリ領域って
動的→プログラム実行中に確保
静的→コンパイル時に確保
という違いですか? またfree()しなければいけないのはなぜ?