从0开始,使用非对称区间
重学C++_基础容器
序列容器 -- 数组
序列型容器 -- 数组
概念
数组声明
int arr[10];
- 类型名称
int
表示数组里所有元素的类型 - 名称
arr
是数组的名称 - 整数
10
表示数组里包含的元素个数 - 数组里元素个数不可以改变
数组
使用
优点
- 可以编写循环依次处理数组里的所有元素
- 循环变量依次代表所有有效下标
for(int index = 0; index<len; ++index)
{
cout << arr[index] << endl;
}
数组_续
int arr[10] = {1,2,3,4,5,6,7,8,0,0};
for(int index = 0; index<10; ++index)
{
cout << arr[index] << " ";
}
考虑一个问题:100米,每10米需要一个栏杆,总共需要多少个栏杆?
off-by-one error(差一错误) _ 数组下标
off-by-one error(差一错误)
一个简单的问题:假定整数x满足边界条件x>=16并且x<= 37,那么此范围内x的可能取值个数有多少?
使用数学上的左闭右开区间[,)
来表示范围
在C++中,我们一般使用下面的方式对数组进行遍历
for(int index = 0; index<10; ++index)
{
cout << a[index] << " ";
}
而不是
for(int index = 0; index<9; ++index)
{
cout << a[index] << " ";
}
设计数组下标的原则
取值范围的大小:上界 - 下界
如果这个取值范围为空,上界值 = 下界值
- 即使取值范围为空,上界值永远不可能小于下界值
Comments | NOTHING