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

13. 数组

1.数组简介

2.数组的访问与遍历

3.多维数组

4.数组的注意事项


1.数组简介

1).数组简介 数组是C++中一种"存储相同数据类型元素的连续内存集合",可以把它想象成一排编号的储物柜:每个储物柜(数组元素)类型 相同,有唯一的编号(下标),且位置连续 a.数组的大小在定义时必须确定,且一旦定义就无法修改(固定长度)b.数组下标从0开始,例如长度为5的数组,下标范围是0~4
2).数组声明和初始化 a.数组声明// 语法:数据类型 数组名[数组长度];intarr[5];// 声明一个能存储5个int类型元素的数组b.数组初始化#include <iostream>usingnamespacestd;intmain(){// 方式1:完全初始化(指定所有元素)intarr1[5]={1,2,3,4,5};// 方式2:部分初始化(未初始化的元素自动置0)intarr2[5]={1,2};// 结果:[1,2,0,0,0]// 方式3:省略长度(编译器根据初始化列表自动计算长度)intarr3[]={10,20,30};// 长度为3// 方式4:C++11及以上支持的空初始化(所有元素置0)intarr4[5]={};// 结果:[0,0,0,0,0]return0;}

2.数组的访问与遍历

1).单个元素访问 通过"数组名[下标]访问",注意"下标不能越界"
#include <iostream>usingnamespacestd;intmain(){intarr[5]={1,2,3,4,5};cout<<arr[0]<<endl;// 输出第一个元素:1cout<<arr[3]<<endl;// 输出第四个元素:4// 修改元素arr[2]=99;cout<<arr[2]<<endl;// 输出:99// 错误示例:下标越界(arr只有5个元素,下标最大为4)// cout << arr[5] << endl; // 未定义行为,程序可能崩溃return0;}

2).最常用的是for循环,C++11及以上还支持范围for循环#include <iostream>usingnamespacestd;intmain(){intarr[5]={1,2,3,4,5};// 方式1:普通for循环(通过下标遍历)cout<<"普通for循环遍历:"<<endl;for(inti=0;i<5;i++){// i从0到4,覆盖所有下标cout<<arr[i]<<" ";}cout<<endl;// 输出:1 2 3 4 5// 方式2:范围for循环(C++11及以上)cout<<"范围for循环遍历:"<<endl;for(intnum:arr){// 自动遍历arr的每个元素,num是元素值cout<<num<<" ";}cout<<endl;// 输出:1 2 3 4 5return0;}

3.多维数组

二维数组可以理解为"数组的数组",比如一个34列的表格:#include <iostream>usingnamespacestd;intmain(){// 声明并初始化3行4列的二维数组intmatrix[3][4]={{1,2,3,4},// 第一行{5,6,7,8},// 第二行{9,10,11,12}// 第三行};// 遍历二维数组(嵌套for循环)for(inti=0;i<3;i++){// 遍历行for(intj=0;j<4;j++){// 遍历列cout<<matrix[i][j]<<" ";}cout<<endl;// 每行结束换行}return0;}

4.数组的注意事项

1).数组长度必须是常量(不能用变量定义,C++11的constexpr除外)intn=5;// int arr[n]; // 错误:n是变量,C++标准不支持(部分编译器如GCC可能兼容,但不推荐)constintm=5;intarr[m];// 正确:m是常量
2).数组名本质是指向第一个元素的指针intarr[5]={1,2,3};cout<<*arr<<endl;// 输出第一个元素:1(*arr等价于arr[0])
http://www.jsqmd.com/news/332544/

相关文章:

  • MindSpore 大模型可解释性与鲁棒性协同优化:梯度归因可视化 + 对抗训练
  • 基于深度学习YOLOv11的篮球运动员识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 基于深度学习YOLOv11的扑克牌识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 2026最新版 Notepad2 下载安装与配置完整教程:轻量编辑器的高效选择
  • <span class=“js_title_inner“>特斯拉年营收948亿美元:交付164万辆车,减少7% FSD付费用户达110万人</span>
  • 基于深度学习YOLOv12的篮球运动员识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 2026年 微波暗室/电波暗室厂家实力推荐榜:专业设计与精密屏蔽性能深度解析及选购指南
  • CMake链接库教程:target_link_libraries用法详解
  • 2026年西安抖音推广、GEO、AI搜索、短视频拍摄、抖音代运营服务公司竞争格局深度分析报告
  • 2026年屏蔽机房厂家推荐排行榜:焊接式/拼装式/铝板室/部队/政府保密级电磁屏蔽机房专业解决方案深度解析
  • MindSpore 多模态大模型进阶:跨模态对齐增强 + 算力高效调度
  • 物位计厂家推广必看:5大高效平台全解析
  • 剖析就业规划机构排名,就业规划哪个比较好,名企就业规划机构哪家靠谱
  • <span class=“js_title_inner“>甘草医生冲刺港股:9个月营收5.5亿亏124万 许志良控制82%股权</span>
  • 固相萃取仪:现代实验室高效前处理的核心技术与应用展望
  • 2026年潘家园眼镜店价格大比拼,哪家服务好又实惠
  • 2026年1月四川成都空气治理/甲醛检测/除甲醛/空气检测/甲醛治理公司哪家好
  • 深蓝保Java一面复盘:高并发、JVM调优、索引优化…这些面试题你真的会答吗?
  • 2026年安阳锻压数控设备选购攻略,靠谱品牌大揭秘
  • 【Python】将表格图片批量导出到本地文件夹
  • SEW变频器MC07A450-503-4-01 08283494
  • 2026年国企就业辅导机构推荐,上岸率高的平台排名
  • 2026年京津冀地区适合婴幼儿的板材全屋定制服务品牌推荐
  • 广东西娅图家具制造怎么样?产品好用吗?值得推荐吗?
  • 【Windows】查看电脑系统日志
  • 维修SEW变频器MC07A110-503-4-01 08282781
  • 网红冰柿厂家靠谱吗,国强农业用品质给出答案
  • 2026年橡胶制品性价比排名,解读东莞卓世橡胶制品专业靠谱程度
  • 2026年 车库门厂家推荐排行榜:高端车库门、快速卷帘门、智能涡轮门,匠心工艺与创新科技完美融合
  • 深度测评8个降AIGC网站,千笔帮你轻松降AI率