版权声明:本文为博主原创文章,如需转载请注明出处。
从我源博客那里搬过来的文章,边复习边搬家。
malloc
1 | void * malloc(size_t _Size); |
malloc
函数在堆中分配参数_Size
指定大小的内存,单位:字节,函数返回void *
指针。
calloc
1 | void * calloc(size_t _Count, size_t _Size); |
calloc
与malloc
类似,负责在堆中分配内存。
第一个参数是所需内存单元数量,第二个参数是每个内存单元的大小(单位:字节),calloc
自动将分配的内存置为0。
1 | int *p = (int *)calloc(100, sizeof(int)); // 分配100个int |
ralloc
重新分配用malloc
或者calloc
函数在堆中分配内存空间的大小。
1 | void * realloc(void *p, size_t _NewSize); |
free
1 | void free(void *p); |
free
负责在堆中释放malloc
和calloc
分配的内存。参数p
为malloc
返回的堆中的地址。
代码示例
1 | int main() |