char *buf;
buf = (char *)calloc(1024,sizeof(char));
で記憶域を確保して、
確保した領域の大きさを変更する場合をどのように判断したらよいですかね?