>>975
もしかして、

struct hoge *p;
p=sizeof(struct hoge)+strlength;
strcpy(p->s,"もしかして・・・・");
free(p);

こういうこと?配列はメモリー上で連続していて、配列の大きさを越えても文句を言われないことをうまく利用して。