malloc() 函数用于动态分配内存,返回指向已分配内存起始地址的指针。该函数允许在运行时指定要分配的内存大小,其地址因调用而异。使用 malloc() 时,需要包含 头文件,声明一个指针指向已分配内存,检查分配是否成功,转换指针类型,并在使用完毕后释放内存以将其返回给系统。
malloc() 函数的用法与功能
概述
malloc() 函数是 C 语言中用于动态分配内存的标准库函数。它可以在运行时分配一段指定大小的内存,程序员可以将其用于存储数据或对象。
语法
void *malloc(size_t size);
参数
- size:要分配的内存大小,以字节为单位。
返回值
如果分配成功,malloc() 返回指向已分配内存块起始地址的指针。如果分配失败(例如,内存不足),则返回 NULL。
功能
malloc() 函数具有以下功能:
- 动态内存分配:在运行时分配内存,而不是在编译时。
- 指定内存大小:允许程序员指定要分配的内存大小。
- 地址可变:分配的内存地址可能会因调用而异,具体取决于可用的内存。
用法
要在程序中使用 malloc() 函数,请按以下步骤操作:
- 包含标准库头文件 #include
。 - 使用以下语法声明一个指向已分配内存的指针:
void *ptr = malloc(size);
- 检查返回的指针是否为 NULL,以确保分配成功。
- 将指针类型转换为所需的类型。使用之前必须释放分配的内存。
释放分配的内存
使用完分配的内存后,必须释放它以将其返回给系统。为此,可以使用 free() 函数:
free(ptr);
其中 ptr 是指向已分配内存的指针。
示例
以下示例演示了 malloc() 函数的使用:
#include <stdio.h>
#include <stdlib.h>
int main() {
// 分配 100 字节的内存
int *ptr = malloc(100);
// 检查分配是否成功
if (ptr == NULL) {
printf("内存分配失败!n");
return 1;
}
// 使用分配的内存
// ...
// 释放分配的内存
free(ptr);
return 0;
}</stdlib.h></stdio.h>