在C语言中,realloc 函数用于扩大或缩小之前分配的内存块
2025-05-18
在C语言中,realloc 函数用于扩大或缩小之前分配的内存块。它是动态内存管理的重要工具,允许你在运行时调整内存块的大小。下面是如何使用 realloc 函数来扩大内存块的详细说明和示例。
realloc 函数
功能:重新分配内存块的大小。
参数:
ptr:指向之前分配的内存块的指针。如果 ptr 是 NULL,realloc 的行为类似于 malloc。
size:新的内存块的大小(以字节为单位)。
返回值:成功时返回指向新内存块的指针,失败时返回 NULL。
使用 realloc 扩大内存块
c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *ptr;
int n = 5;
// 分配内存
ptr = (int *)malloc(n * sizeof(int));
if (ptr == NULL) {
printf("Memory allocation failed.\n");
return 1;
}
// 初始化分配的内存
for (int i = 0; i < n; i++) {
ptr[i] = i + 1;
}
// 打印初始分配的内存内容
printf("Initial array: ");
for (int i = 0; i < n; i++) {
printf("%d ", ptr[i]);
}
printf("\n");
// 扩大内存块到