今天在学习中碰见了动态分配内存有关的函数:malloc realloc calloc free。以下是详细的记录
"动态内存":在程序运行期间,动态分配内存空间,一般是在"堆,heap"空间上分配。
malloc: memory allocate 内存分配
realloc: repeat allocate 再分配——重新分配:一次内存分配完成之后,后面用的时候,发现不够用,再分配。
calloc: clear allocate 分配内存时同时清 0
free :释放
动态分配的内存,需要在你不用的时候,需要手动释放free,否则这个空间一直时你的。
动态内存分配:如果分配了空间,就一直存在,直到你手动free或者进程结束。
有时候,把动态分配的内存“匿名内存”,“匿名内存”只能通过他的指针去访问。
一、malloc 内存分配
#include<stdlib.h>//malloc的头文件
malloc向系统申请一段连续的大小为size字节的空间,并且把内存的首地址返回(void*)
void* malloc(size_t size);
size: 你要分配多大的空间,单位是字节,要分配多大,就输入。
返回值:
内存开辟成功,返回开辟空间的首地址(void*)通用指针类型
不成功,返回NULL
标签:malloc,函数,free,C语言,分配内存,内存,分配,size
From: https://www.cnblogs.com/lzzcforever/p/17549388.html