66、malloc、realloc、calloc的区别

1) malloc函数

void* malloc(unsigned int num_size);
int *p = malloc(20*sizeof(int));申请20个int类型的空间;

2) calloc函数

void* calloc(size_t n,size_t size);
int *p = calloc(20, sizeof(int));

省去了人为空间计算;malloc申请的空间的值是随机初始化的,calloc申请的空间的值是初始化为0的;

3) realloc函数

void realloc(void *p, size_t new_size);
给动态分配的空间分配额外的空间,用于扩充容量。
上一篇:22_结构体中创建一级malloc、二级malloc和三级malloc


下一篇:嵌入式常用裸机编程框架