当前位置: 首页 > news >正文

C++之 动态数组

一、新建一个动态数组 

 数组名下标操作符[]的组合可以被替换成一个指向该数组的基地址的指针对应的指针运算

int a[20];
int *x = a;

指针变量 x 指向数组 a 的地址, a[0] 和 *x 都代表数组的第一个元素。

于是,根据指针运算原则, a[1] 等价于 *(x+1)、 a[2] 等价于 *(x+2) ,以此类推。

反过来也成立,

  • 把一个数组声明传递给 new 语句将使它返回一个该数组基类型的指针。
  • 把数组下标操作符和该指针变量的名字搭配使用就可以像对待一个数组那样使用 new 语句为这个数组分配的内存块了。

例如:

int *x = new int[10];

• 可以像对待一个数组那样使用指针变量 x :

  •  x[1] = 45;
  •  x[2] = 8;

• 当然,也可以用一个变量来保存该数组的元素个数:

  •  int count = 10;
  • int *x = new int[count];  

案例:

写一个程序,能够在程序运行时让用户输入一个值自行定义数组的长度。

#include<iostream>
#include<string>int main()
{unsigned int count=0;std::cout<<"请输入数组的元素个数:\n";std::cin>>count;int *x=new int[count];for(int i=0;i<count;i++){x[i]=i;}for(int i=0;i<count;i++){std::cout<<"x["<<i<<"]的值是:"<<x[i]<<"\n"; }return 0;
}

 

二、 删除一个动态数组 

在 delete 保留字的后面加上一对方括号:

delete [] x;

未完待续。。。

相关文章:

  • 河南普瑞维升企业案例:日事清SOP流程与目标模块实现客户自主简报功能落地
  • 智能语音处理+1.5使用PocketSphinxshinx实现语音转文本(100%教会)
  • Pinpoint - 大型分布式系统的 APM(应用性能管理)工具
  • 强化学习的数学原理(五) MonteCarlo learning
  • MoogDB数据库日常维护技巧与常见问题解析
  • 未能安装包“Microsoft.VisualStudio.XXXXX
  • 3D语义地图中的全局路径规划!iPPD:基于3D语义地图的指令引导路径规划视觉语言导航
  • BR_输出功率(RF/TRM/CA/BV-01-C [Output Power])
  • 从零开始实现 MobileViT 注意力机制——轻量级Transformer Vision Model 的新思路
  • PyTorch框架学习01
  • 低盐、低蛋白、低钾饮食的肾脏保护机制(肾和计算机语言)
  • 第七章:7.6 写一个函数,将两个字符串连接
  • ThinkPHP框架接入Stripe支付
  • 【贪心】C++ 活动安排问题
  • 三角形分类程序黑盒实验(三)(包含完整源码)
  • 深入解析C++中的队列(queue)容器:原理、应用与最佳实践
  • 16613/16614/16615系列噪声源
  • 线上创业协会小程序源码介绍
  • 52常用控件_QCheckBox的使用
  • Vue.js:现代前端开发的轻量级框架
  • 工业设计公司简介/行者seo无敌
  • 望城做网站找谁/上海app网络推广公司电话
  • 宁波seo服务推广平台/山东网络优化公司排名
  • 武威做网站的公司/韩国vs加纳分析比分
  • 做的ASP网站手机/深圳知名网络优化公司
  • 网站建设需要哪些必备文件/营销宣传图片