定义在堆上得数组释放后为什么还能输出
时间: 2023-06-17 15:04:12 浏览: 56
c++创建二维动态数组与内存释放问题
5星 · 资源好评率100%
在C/C++中,如果一个数组是使用new或malloc等动态内存分配函数在堆上分配的,那么在释放完该数组的内存后,该数组仍然可以访问,并且输出其内容。但是,这个时候该数组所占用的内存已经被释放,访问该数组已经是非法操作,这种情况被称为“野指针”或“悬空指针”。
访问已经释放的内存可能会导致程序崩溃或产生未定义行为,因此我们应该避免这种情况的发生。在释放完内存后,我们应该将指针设置为NULL或nullptr,以避免出现野指针。
阅读全文