レスありがとうございます。
やっぱりfree()しない限りは開放されないんですよね。
じゃああんまり動的メモリ確保の意義ってないんじゃないのかななんて思ったりするのですが・・・

と思ったらrealloc()なんてあるんですね。
ちょっといろいろ試してみます。