realloc使用例子
时间: 2023-07-22 15:03:20 浏览: 95
当你需要重新分配内存大小时,可以使用`realloc`函数。以下是一个使用`realloc`函数的例子:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
// 初始化一个指针,指向动态分配的内存空间
int* ptr = (int*)malloc(5 * sizeof(int));
if (ptr == NULL) {
printf("动态内存分配失败!\n");
return 1;
}
// 打印当前分配的内存大小
printf("当前分配的内存大小为 %lu 字节\n", 5 * sizeof(int));
// 重新分配内存大小为 10 个整数的空间
ptr = (int*)realloc(ptr, 10 * sizeof(int));
if (ptr == NULL) {
printf("内存重新分配失败!\n");
return 1;
}
// 打印重新分配后的内存大小
printf("重新分配后的内存大小为 %lu 字节\n", 10 * sizeof(int));
// 释放内存
free(ptr);
return 0;
}
```
在上面的例子中,我们首先使用`malloc`函数分配了 5 个整数大小的内存空间,并将其赋值给指针`ptr`。然后,我们通过`realloc`函数将内存大小重新分配为 10 个整数大小的空间。最后,我们使用`free`函数释放了动态分配的内存。
请注意,在使用`realloc`函数时,需要将返回的指针重新赋值给原来的指针变量。这是因为`realloc`函数可能会返回一个新的指针,如果重新分配失败,返回值将为`NULL`。
阅读全文