malloc、free
void* malloc(size_t size);
void free(void* ptr);
头文件:
#include <stdlib.h>
void* malloc(size_t size)
:
malloc
函数用于动态分配内存。
参数 size
,表示要分配的内存大小(以字节为单位)。
函数返回一个 void*
类型的指针,指向分配的内存块的起始地址。如果内存分配失败,则返回 NULL
。
void free(void* ptr)
:
free
函数用于释放之前通过 malloc
函数分配的内存。
它接受一个 void*
类型的指针 ptr
,指向要释放的内存块的起始地址。释放内存后,该内存块将可供系统重新分配。注意,传递给 free
函数的指针必须是之前通过 malloc
函数分配的,否则行为是未定义的。
所以,malloc
和free
必须成对使用
注意:
malloc
函数返回的指针是 void*
类型,需要进行适当的类型转换后才能使用。而 free
函数不返回任何值。