1.2 KiB
1.2 KiB
动态内存分配
index
C
所有的函数声明于<stdlib.h>
头文件中
malloc
- 原型
void *malloc(size_t size);
- 功能 : 用于分配指定字节数的内存块
- 特点
- 分配的内存是未初始化的,内容随机
- 返回指向分配内存起始地址的void指针
- 如果分配失败,返回NULL
calloc
- 原型
void *calloc(size_t num, size_t size);
- 特点
- 比起
malloc
多了自动初始化
- 比起
realloc
- 原型
void *realloc(void *ptr, size_t new_size);
- 功能 : 用于调整之前分配的内存块的大小
- 特点
- 可以扩大或缩小内存块
- 新增部分不初始化
- 如果ptr为NULL,等同于malloc
- 可能返回新的指针地址(内存块可能被移动到新位置)
- 如果
new_size
为0且ptr不为NULL,等同于free
aligned-alloc
void* aligned_alloc(size_t alignment, size_t size)
- 分配对齐内存(要求
size
是alignment
的整数倍)
- 分配对齐内存(要求