c/c++ c语言动态数组
数组的优点与缺点
数组的优点
- 访问比较方便,–>数组名字 index,[0,N],所有的元素都是挨个排在一起,方便整体的管理和维护
-
数组的缺点
- 大小不可改变;
- 不宜定义过大,栈上内存空间大小有限,全局变量不可释放;
动态数组
- 具有数组的优点:
- 所有的元素排列在一起,可以通过索引来访问;
- 能够避免数组的缺点,可以使得存储更灵活;
- 存储更灵活可以动态改变大小,不受存储规模的影响;
- 如果容量不足,可以扩容;
- 动态数组的内存,元素是放在堆上的,不会导致影响栈和全局变量;
动态内存的接口
定义接口头文件与源文件
- 编写动态数组示例模块
- 1.定义好动态数组的结构
- 2: vector_define: 用来配置这个动态数组存放什么样的数据类型;
- 3: vector_clear: 用来释放这个动态数组的所有内存;
- 实现以上接口函数
-
4:往动态数组最后存放元素
-
实现接口函数
-
5:vector_at: 用来获取第i个元素的地址;
- 6:vector_begin: 用来返回元素集合的开始地址;(解决每次遍历对内存的开销)
- 7:vector_popall: 用来弹出这个动态数组的所有元素;
- vector_erease: 用来删除从i开始的count个元素;
- vector_popback: 用来弹出动态数组的最后一个元素;
总结
1: 自己实现动态数组;
2: 测试自己编写的每个接口;