>>261
char dat=(char *)malloc(n*sizeof(char));
で、充分でしょ。
せいぜい2桁の数値を保持しておくのだから。
shortはどうでしたっけ現状?