calloc、malloc、realloc函数的区别及用法
程序员文章站
2022-04-15 22:45:45
/* 需要手动计算内存大小,未初始化 */ int *p = (int *)malloc(20 * sizeof(int)); /* 不需要手动计算内存大小,初始化为0 */ int *q = (int *)calloc(20, sizeof(int)); /* 动态内存 扩大/缩小 * 1.成功分 ......
/* 需要手动计算内存大小,未初始化 */ int *p = (int *)malloc(20 * sizeof(int)); /* 不需要手动计算内存大小,初始化为0 */ int *q = (int *)calloc(20, sizeof(int)); /* 动态内存 扩大/缩小
* 1.成功分配: * 1.1 返回地址相同, 原内存后 有 空余内存,返回原来指针的地址; * 1.2 返回地址不同, 原内存后 没有 空余内存,新分配一块儿内存,并把原来的内存内容拷贝过来,原来的内存释放掉;
* 2.失败返回null: * 2.1 原内存不释放, 重新分配的内存过大,分配失败,返回null,原内存不释放; * 2.1 原内存释放, 原指针不为null, 重新分配的大小为0,返回null,原内存释放,realloc(p, 0) === free(p);别这么用!
* 3.扩容后的内存较原来的小,数据会丢失
*/
int *pp = (int *)realloc(p, (20 + 10) * sizeof(int));
上一篇: React 组件 API 简单演示
推荐阅读
-
C语言中 malloc,calloc,realloc的区别
-
PHP易混淆函数的区别及用法汇总
-
Python函数any()和all()的用法及区别介绍
-
SQL中CUBE和ROLLUP函数的用法及区别
-
深入浅析php中sprintf与printf函数的用法及区别
-
深入浅析php中sprintf与printf函数的用法及区别_PHP
-
深入浅析php中sprintf与printf函数的用法及区别_php实例
-
深入浅析php中sprintf与printf函数的用法及区别_PHP
-
C语言中 malloc,calloc,realloc的区别
-
深入浅析php中sprintf与printf函数的用法及区别_php实例