malloc
C语言提供了一个动态内存开辟的函数;
1:返回类型为void*,是一种没有指定类型的指针,意味着返回的类型可能是int、char或者其他。
2:参数为size_t,意思是只能是正数,单位为字节;如果要开辟一个int类型的空间,这里的size=4;
3:如果开辟失败,将会返回NULL,因此每次开辟空间后,都要检测返回的是不是NULL,以判断空间是否开辟成功;
4:如果开辟成功,会返回开辟好的空间的指针;
free
C语言提供了另外一个函数free,专门是用来做动态内存的释放和回收的,函数原型如下:
free函数用来释放动态开辟的内存。
1:malloc和free都声明在 stdlib.h 头文件中
2:如果参数 ptr 指向的空间不是动态开辟的,那free函数的行为是未定义的
3:如果参数 ptr 是NULL指针,则函数什么事都不做;
4:一旦开辟了空间,若是开辟的空间在某处程序后不再使用,需要将其释放,并将地址至为NNULL;