test返回的是一个指针,如果你在display中调用了test,那你在display中肯定会要对test返回的值进行存储,例如int *p=test;,那么test中申请的空间就保留了,要释放这部分内存只要对p操作就可以了,而i_test这个变量在test执行完就释放了,所以如果你没有类似int *p=test;这样的语句,则申请的空间就会变成黑户,你无法找到它,它也不会释放
你要自己写一个释放撒
直接free返回到Display中的指针就行了,它和i_test指向同一个地址,而i_test本身会随Test的调用结束而消失。有一点,i_test怎么没有定义呢?