>>102
もっともスマートにして唯一採りうる手法として、malloc関数を呼んだ時点での領域確保のサイズを記録しておく。
つまり、
int a;
char* buf;
a = 1024;
buf = (char*) malloc (a * sizeof (char)); /* <- 必ずsizeof演算子でサイズを計算しておくこと。環境対策。*/