realloc头文件
时间: 2023-09-23 07:02:19 浏览: 115
头文件
realloc函数是C语言标准库中的一个函数,它定义在<stdlib.h>头文件中。该函数用于重新分配之前通过malloc、calloc或realloc函数分配的内存块的大小。realloc函数的原型如下:
```c
void *realloc(void *ptr, size_t size);
```
其中,`ptr`是指向需要重新分配大小的内存块的指针,`size`是重新分配的大小(以字节为单位)。如果内存重新分配成功,则返回指向新分配内存块的指针;如果失败,则返回NULL。
需要注意的是,使用realloc函数重新分配内存块时,原有内存块中的数据可能会被复制到新的内存块中,因此需要谨慎处理指针和数据的引用关系,以避免出现问题。
```c
#include <stdlib.h>
int main() {
int* ptr = malloc(10 * sizeof(int)); // 分配一个包含10个整数的内存块
if (ptr == NULL) {
// 内存分配失败
return 1;
}
// 使用realloc函数将内存块大小重新分配为20个整数
int* newPtr = realloc(ptr, 20 * sizeof(int));
if (newPtr == NULL) {
// 内存分配失败
free(ptr); // 需要手动释放原有内存块
return 1;
}
ptr = newPtr; // 更新指针
// 使用新的内存块进行操作
free(ptr); // 释放内存块
return 0;
}
```
以上是一个简单的示例代码,演示了如何使用realloc函数重新分配内存块的大小。
阅读全文