哪位大牛来帮帮我看看这个内存分配的小程序的问题

图片说明
free函数不是把p指向的内存空间释放了吗?为什么我还可以使用它的空间,编译运行都没有出错?是哪里出了问题?还是我理解错了什么

本来就是如此,甚至你不分配空间,拿p瞎指一个地址,都可以赋值。C不会对它检查。

“虽然释放了内存空间 但是由于你重新定义了 是一个int值 所以又自动分配了内存”这个回答是错的。不会分配内存,此时往p赋值,结果不可预料。

虽然释放了内存空间 但是由于你重新定义了 是一个int值 所以又自动分配了内存