C语言realloc()函数
来源:互联网 发布:saas软件服务合同 编辑:程序博客网 时间:2024/06/11 15:51
C语言 realloc() 函数位于 stdlib.h 头文件中,其原型为:
void *realloc(void *ptr, size_t size);
realloc() 会将 ptr 所指向的内存块的大小修改为 size,并将新的内存指针返回。
设之前内存块的大小为 n,如果 size < n,那么截取的内容不会发生变化,如果 size > n,那么新分配的内存不会被初始化。
1. 如果 ptr = NULL,那么相当于调用 malloc(size);如果 size = 0,那么相当于调用 free(ptr)。
2. 如果 ptr 不为 NULL,那么他肯定是由之前的内存分配函数返回的,例如 malloc()、calloc()或realloc()。
3. 如果 ptr 所指的内存块被移动,那么会调用 free(ptr)。
realloc是从堆上分配内存的.当扩大一块内存空间时,realloc()试图直接从堆上现存的数据后面的那些字节中获得附加的字节,如果能够满足,自然天下太平;如果数据后面的字节不够,问题就出来了,那么就使用堆上第一个有足够大小的自由块,现存的数据然后就被拷贝至新的位置,而老块则放回到堆上.这句话传递的一个重要的信息就是数据可能被移动.
0 0
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言函数realloc
- C语言realloc()函数
- C语言之realloc函数
- C 语言 函数之realloc
- C语言realloc函数解析
- C语言 realloc() 函数和malloc() 函数
- C语言中的realloc函数动态分配内存
- C语言中的realloc函数动态分配内存
- 编辑本段C语言函数realloc
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- c语言中realloc()函数解析
- 小心使用C语言realloc()函数
- c语言中realloc()函数解析
- 减治算法之寻找第K小元素问题
- ListView
- leetcode_206_Reverse Linked List(easy)(C++)
- Android Framework 记录之一
- 用长轮询实现Chat并迁移到Azure测试
- C语言realloc()函数
- Kruskal 模板
- 输出星号图1
- 每次可以从里面拿出一个放在最前(或最后),求最小的次数把数列排好序
- Go语言学习(三)枚举和类型
- ORA-00918 未明确定义列,with t as 后面只能跟select
- 理想团队模式构建的设想和软件流程的理解
- 1010 Problem K
- 连接远端oracle时的一个小问题(ORA-01031)