HTFAR = realloc(HTFAR,sizeof(void*));
应该
HTFAR = realloc(HTFAR,sizeof(void(*)(void))*(NumberOfT+1));
你得到了你所做的具体错误,因为realloc移动了块,你在(我认为)malloc(0x0)返回的块之后覆盖了块。