c++内存示例003calloc,malloc

Posted 周三石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++内存示例003calloc,malloc相关的知识,希望对你有一定的参考价值。

对象 *p = 清零分配(0, 的大小(对象)); // &l双引号;零长度&r双引号;占位
...
(1) {
p = 再分配(p, c * 的大小(对象)); // 重分配直至大小稳定
... // 可能更改 c 或打破循环的代码
}
#包含 <io流>
#包含 <c标准库>

()
{
* p1 = (*)::清零分配(4, 的大小()); // 分配并清零 4 个 整 的数组
* p2 = (*)::清零分配(1, 的大小([4])); // 同上,直接指名数组类型
* p3 = (*)::清零分配(4, 的大小 *p3); // 同上,不重复类型名

(p2)
( n=0; n<4; ++n) // 打印数组
输出 << "p2[" << n << "] == " << p2[n] << '\n';

释放(p1);
释放(p2);
释放(p3);
}
p2[0] == 0
p2[1] == 0
p2[2] == 0
p2[3] == 0
#包含 <io流>   
#包含 <c标准库>
#包含 <串>

()
{
// 为 4 个 串 的数组分配足够空间
( p = (*)::分配(4 * 的大小()))
{
i = 0;

{
(; i != 4; ++i) // 填充数组
(p + i)(5, 'a' + i);

( j = 0; j != 4; ++j) // 打印出来
输出 << "p[" << j << "] == " << p[j] << '\n';
}
(...) {}

(; i != 0; --i) // 清理
p[i - 1].~基串();

释放(p);
}
}
p[0] == a5
p[1] == bbbbb
p[2] == c5
p[3] == ddddd
 ::(常转<*>(静转< 易失 *>(p)))
T(前向<实参>(实参)...);


以上是关于c++内存示例003calloc,malloc的主要内容,如果未能解决你的问题,请参考以下文章

Qt Creator - calloc 因内存大而失败

C++之内存管理:申请与释放

C语言中动态内存分配函数的用法及作用?(比如malloc,calloc,realloc等)

C / C++ 内存管理

C++动态内存管理

C++动态内存管理