C++一维数组完全指南
一、什么是一维数组用来一次性存储多个相同类型的数据内存中连续存放有统一的名字用 ** 下标索引** 区分每个元素下标从0 开始非常重要二、定义与初始化四种常用方式// 1. 定义全部初始化 int arr[5] {10, 20, 30, 40, 50}; // 2. 省略长度自动计算 int arr[] {1, 2, 3, 4, 5}; // 3. 部分初始化剩下自动填0 int arr[5] {1, 2}; // {1,2,0,0,0} // 4. 先定义后赋值 int arr[3]; arr[0] 11; arr[1] 22; arr[2] 33;三、访问数组元素格式数组名[下标]int arr[5] {10,20,30,40,50}; cout arr[0]; // 10 cout arr[3]; // 40⚠️ 注意下标不能越界arr[5]是错误的0~4 才合法越界不会直接报错但会导致程序异常、乱输出四、数组遍历最核心技能遍历 一个一个访问数组元素固定搭配for 循环 下标#include iostream using namespace std; int main() { int arr[5] {10, 20, 30, 40, 50}; // 遍历数组 for (int i 0; i 5; i) { cout arr[i] ; } system(pause); return 0; }输出10 20 30 40 50五、数组长度怎么求int arr[5]; // 总字节数 / 单个元素字节数 元素个数 int len sizeof(arr) / sizeof(arr[0]);这样写更通用以后改数组长度不用改循环int arr[] {2,4,6,8,10,12}; int len sizeof(arr) / sizeof(arr[0]); for (int i0; ilen; i){...}六、实战案例 1求数组最大值int arr[] {3, 1, 4, 1, 5, 9, 2, 6}; int len sizeof(arr)/sizeof(arr[0]); int maxVal arr[0]; // 假设第一个是最大 for (int i1; ilen; i){ if(arr[i] maxVal){ maxVal arr[i]; } } cout 最大值 maxVal endl;实战案例 2数组元素逆序存放int arr[5] {1,2,3,4,5}; int len 5; // 只需要循环前一半 for(int i0; ilen/2; i){ int temp arr[i]; arr[i] arr[len-1-i]; arr[len-1-i] temp; } // 输出5 4 3 2 1七、数组重要特性必须理解数组名代表数组首地址后面学指针会大量用到数组一旦定义长度不能改变数组是值类型整体不能直接赋值int a[3] {1,2,3}; int b[3]; // b a; // 错误不能直接拷贝数组未初始化的局部数组里面是随机垃圾值八、新手高频错误总结下标从 1 开始正确是 0下标越界arr[n]访问到数组外面循环条件写成ilen导致越界试图直接用给数组整体赋值忘记数组长度固定随意扩容九、今日重点总结一维数组存储多个同类型数据下标从 0 开始遍历固定写法for(int i0; ilen; i)求长度sizeof(arr)/sizeof(arr[0])常用操作遍历、求和、找最值、逆序禁止越界、禁止整体直接赋值
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2503290.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!