2.14、堆

在这里插入图片描述
堆区动态内存分配
1、堆的特性:需要手动开辟和释放空间。
堆区内存 — 生命周期:从你申请开始到释放或者程序结束而结束
作用域:得到的指针范围

2、使用: 必须先申请才能使用
申请: 头文件 :#include <stdlib.h>
函数: malloc
函数五要素:
1).作用:申请堆区内存
2).函数原型: void *malloc(size_t size);
3).参数: size :表示要申请的堆区内存的大小,字节。
4).返回值:void *:万能指针,成功返回–指针指向一片堆区空间;失败返回–NULL。
5).注意事项:
在这里插入图片描述

3、释放:使用函数 free
函数五要素:
1).作用:释放堆区内存
2).函数原型: void free(void *ptr);
3).参数:void *ptr:释放空间的地址指针
4).返回值:void 没有
5).注意事项:
(1).不能连续释放
(2).不能释放一部分
使用时:free(stp);stp = NULL;
在这里插入图片描述

4、内存泄漏: — 避免:保管好指针;用完即释放。
原因:申请的空间的指针丢失。可以结束程序。 eg:stp = NULL;

猜你喜欢

转载自blog.csdn.net/qq_41110647/article/details/106317667