外から渡してもらってreallocしなくても、関数の中でmallocしてポインタ返せばいいんじゃないの。