初回だけ例外的にmalloc()を使って処理するようなみっともないプログラミングの方が判り易いと思うならその通りだね。