C++ 编程/代码/标准 C 库/内存
外观
本节介绍标准 C 库中的内存管理元素。
语法 |
#include <cstdlib>
void *calloc( size_t num, size_t size);
|
函数 calloc() 分配一个可以存储 num 个单元的数组的内存块,每个单元的大小为 size。数组的每个单元都设置为值零。
如果操作失败,calloc() 返回 "NULL"。
示例
ptr = (float*)calloc(25, sizeof(float));
/* It would create an array of 25 cells, each one with a size of 4 bytes
“(sizeof(float))”, all the cells initialized with value 0 */
语法 |
#include <cstdlib>
void free( void *p);
|
函数 free() 释放先前分配的内存块,该内存块来自对 calloc、malloc 或 realloc 的调用。
语法 |
#include <cstdlib>
void *malloc( size_t s );
|
函数 malloc() 分配大小为 s 的内存块。内存保持未初始化。
如果操作失败,malloc() 返回 NULL。
语法 |
#include <cstdlib>
void *realloc( void *p, size_t s);
|
函数 realloc() 调整由 malloc() 或 calloc() 创建的内存块的大小,并返回指向新内存区域的指针。
如果调整大小操作失败,realloc() 返回 NULL 并保持旧内存区域不变。