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: 测试自己编写的每个接口;


源代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值