>38,40
いつまでも、こだわるようで申し訳ありませんが、
例えば下記プログラムなんかreallocだけでスッキリ
と分かりやすい、と思われませんか?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{

char *jo;
jo = realloc(NULL,30 );
strcpy( jo, "Nissyは馬鹿じゃない、" );

jo = realloc( jo, 60 );
strcat( jo, "しかし、頭が固い!\n" );

printf( jo );

realloc( jo,0 );

return 0;
}