前言
处理多个
具有相同性质
的数据,当数量过多
时,可以使用数组来解决
这样的问题。
一.需要掌握的概念
0x1 虽然VS2019不好检测数组有没有初始化数据,但是我们要养成初始化的
习惯
,否则里面的值不确定
,以及某些情况下会出现莫名的BUG
(AI仿真);
0x2 数组名表示的
内存首地址
,数组名[]
表示的是每一个格子(1)里面的数据值
;
0x3 C++11出现的新语法(循环)
0x4 使用
原生数组
时需要警惕
数组的越界问题
。
二.练习题
设计一个
学生信息录入系统
(控制台项目)
#include <iostream>
int main()
{
int studentId[100]{};
//100
int indexId{};//录入的学生数量
while (indexId < 100)
{
std::cout << "输入学号(输入0查看已登记的学生信息):";
std::cin >> studentId[indexId];
if (studentId[indexId] == 0)
{
system("cls");
for (int i = 0; i < indexId; i++)
{
std::cout << i << "号 学生学号" << studentId[i]<<std::endl;
}
}
else indexId++;
}
}
三.多维数组
多维数组也是向OS申请一块连续的内存
,按照低纬度优先排序
的方式来排序,而索引
只是为了方便访问
对应的内存区域。
#include <iostream>
int main()
{
int studentId[3][5]
{
{ 101,2,3,4,5},
{ 1,2,3,4,5 },
{ 1,2,3,4,5 }
};
for (int x = 0; x < 3; x++)//x:高维度的元素数量
{
int count/*低纬度的学生数量*/{};
for (int y : studentId[x])
{
count++;
std::cout << x + 1 << "班第" << count << "个同学的学号是:" << y << std::endl;
}
}
}