c语言中realloc()函数解析
来源:互联网 发布:懒人js特效 编辑:程序博客网 时间:2024/06/06 02:22
http://blog.csdn.net/hackerain/article/details/7954006
realloc(void *__ptr, size_t __size):更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。
如果将分配的内存减少,realloc仅仅是改变索引的信息。
如果是将分配的内存扩大,则有以下情况:
1)如果当前内存段后面有需要的内存空间,则直接扩展这段内存空间,realloc()将返回原指针。
2)如果当前内存段后面的空闲字节不够,那么就使用堆中的第一个能够满足这一要求的内存块,将目前的数据复制到新的位置,并将原来的数据块释放掉,返回新的内存块位置。
3)如果申请失败,将返回NULL,此时,原来的指针仍然有效。
注意:如果调用成功,不管当前内存段后面的空闲空间是否满足要求,都会释放掉原来的指针,重新返回一个指针,虽然返回的指针有可能和原来的指针一样,即不能再次释放掉原来的指针。
看一下示例代码
如果当前内存段后有足够的空间,realloc()返回原来的指针:
如果当前内存段后没有足够的空间,realloc()返回一个新的内存段的指针:
0 0
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- C语言realloc函数解析
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言realloc()函数
- C语言之realloc函数
- Initramfs的制作和移植
- mysql 删除表中某一列的数据及删除某一列的方法
- Mysql批量操作整理
- 骨牌铺方格 hd 2046
- 加载不同大小的图片消耗的内存大小
- c语言中realloc()函数解析
- dubbo(一)dubbo+zookeeper 之 Hello World
- IT职业技能图谱(全套13张)
- 优化DEDECMS模板 让织梦CMS程序生成html页面更快些
- C++指针小结:由一个问题引发的。。。。。。。。。。。。。。。。。。。
- HDU 2124Repair the Wall(贪心)
- Codeforces Round #363 (Div. 2)699A,699B,698A
- POJ 1328Radar Installation
- Linux下接收串口数据0x0d变0X0a问题