动态内存函数
malloc和free
这个函数像内存申请了一块连续可用的空间,并返回指向这块空间的指针
1、如果开辟成功,则返回一个指向开辟好空间的指针
2、如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查
3、返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己决定。
4、如果参数size为0,malloc的行为是标准是未定义的,取决于编译器。
C语言提供了与另一个函数free专门是用来做动态内存的释放和回收的。
free函数是用来释放动态开辟的内存
如果参数ptr指向的空间不是动态开辟的,那free函数的行为是未定义的。
如果参数ptr是NULL指针,则函数什么也不做
malloc和free都申明在stlib.h头文件中。
动态内存分布于堆区