C疑问:(一)realloc(p,0)真的会释放之前的内存吗?
2017-03-26 11:33
323 查看
问题描述:很多资料都写着realloc()第一个参数有效,第二个参数为0时,之前的内存会被释放掉。MSDN的描述见下
但是在VS上用下例测试返回值时,意外发现之前的内存仍然可以使用。在Linux上得到了同样的结果。还没找到原因。希望有大神可以给指导
但是在VS上用下例测试返回值时,意外发现之前的内存仍然可以使用。在Linux上得到了同样的结果。还没找到原因。希望有大神可以给指导
#include <stdio.h> #include <stdlib.h> int main( ) { int *pAlloc=(int*)malloc(sizeof(int)); printf("0x%x\n",pAlloc); int *pRea=(int*)realloc(pAlloc,0); printf("0x%x\n",pAlloc); *pAlloc=1; printf("%d\n",*pAlloc); printf("0x%x\n",pRea); return 0; }输出:
相关文章推荐
- c中内存分配与释放(malloc,realloc,calloc,free)函数内容的整理
- QList指针中的clear后不会自动释放内存,需要之前调用qDeleteAll()
- C语言之内存分配与释放:malloc, calloc, realloc & free
- c中内存分配与释放(malloc,realloc,calloc,free)函数内容的整理
- c语言之内存的申请malloc() 和释放free()
- /MT、/MD编译选项,以及可能引起在不同堆中申请、释放内存的问题
- C/C++代码调试:快速定位内存的申请和释放的位置
- C++内存未释放的情况
- 体会内存的释放
- STL中各个容器的内存的释放
- C++ STL中的vector的内存分配与释放
- 在IE下的JS编程中,以下的编程方式都会造成即使关闭IE也无法释放内存的问题
- easyUI 能完全释放内存解决方法
- using 释放内存的写法
- linux 内存清理/释放命令
- 正确释放Vector的内存
- 内存储器管理概述、内存分配与释放、地址映射机制(mm_struct, vm_area_struct)、malloc/free 的实现
- PHP中的unset方法究竟能否释放内存
- 手工释放linux内存------/proc/sys/vm/drop_cache
- javascript如何释放内存