俺の方法がわるいのかもしれないのだが、
reallocがmallocの代わりに使えないのだが。

char *hoge;

hoge = realloc( hoge, 10);
hoge[0] = 'a';
hoge[1] = 'b';
hoge[2] = '\0';

こうすると実行できない。なぜっすか?