欢迎光临
我们一直在努力

C++学习笔记系列2-17

        一维数组

概念:数组是存储一组相同类型的数据集合,包含:一维数组、二维数组、三维数组

只要是数组都有以下3点特性:

1、一致性,即数据类型必须一致

2、有序性,数组中的数据是有顺序的,可以通过下标读取访问;

3、不可变性,即数组初始化后,其长度(存储数量)不能再变了。

一维数组可以想象为一条线段,二维数组可以想象为一个游行方阵,三维数组可以想象为魔方玩具。通常开发中很少使用三维数组。

 

        一维数组的声明

语法:

变量类型  数组名称  [ 长度 ]  =  { 元素1,元素2,元素3,……,元素n  } ;

以上是声明一维数组的基本语法,下面用正确的代码声明一个一维数组。

int arr [ 5 ] = { 1, 2, 3, 4, 5} ; // 这是声明了一个名为:arr 的 int 型数组,它的长度(元素容量)为 5 ,元素依次为:1 2 3 4 5。

以上是标准的一维数组声明方式,也有简化的方式:

第①其中一种是“不赋值形式”,如下:

float arr1 [ 3 ] = { }; // 数组为float类型,长度(容量)为:3,但是没有赋予数组元素值,那么编译器会自动根据变量类型,为其填充 3 个 “0.0”,如果是 int 类型,则填充 3 个“0”。

第②种简化方式,即:长度确定,但元素不给足,如下:

int arr2 [ 5 ] = { 10, 20, 30 } ; // 这种类型就是在读取前3个数据时,依次为:10 20 30 ,剩下 2 个则用 “0” 补位。

第③二种简化方式,即:不确定长度(容量),如下:

bool arr3 [ ] = { true, false, false, true, true }; // 这种情况,编译器会根据 { } 中的元素数量进行自行推导,自动判定长度为:5。

 

        数组长度(容量)计算

之前学习过的 “sizeof()”函数获取数组的大小,用这个值除以变量类型大小,就可以得到数组的长度了,如下:

int arr2 [ 5 ] = { 10, 20, 30 } ; // 声明了一个int型数组,名称为 arr2,当然这里已经给定了长度,但是我们可以试验一下上面的公式是否正确。

cout << sizeof ( arr1 )  /  sizeof ( float ) <<endl;

cout << sizeof ( arr2 )  /  sizeof ( int ) <<endl;

cout << sizeof ( arr3 )  /  sizeof ( bool ) <<endl;

 

输出结果依次为:3 5 5,和每个数组的长度一样。

 

       注意事项:

1、在目前学习的范围中,我们的数组长度不能用变量表示,如:

int i = 3;

int arr4 [ i ] = { 1, 2, 3}; 

这样写会报错,这一点要注意。

2、数组是若干个相同类型变量组成的集合,所以每个变量(也可以称“元素”)都有自己的存储空间,就像自己的房间一样,想找哪个变量就要通过它的房间号访问,数组的房间号,也就是之后要用的“索引号”统统都是从“0”开始,如果这个数组长度为:5 ,它的索引号就依次是: 0 1 2 3 4。

3、在某个数组中访问变量时,一定注意不要越界,如:arr [ 3 ] 这个数组长度为:3,索引号依次:0 1 2,如果访问 2 以后的数字,或 0 以前的数字,那都会产生问题,系统可能不会报错,但是会输出一个不确定的值,即系统残留值。

以上 3 点在应用数组时需要注意

 

赞(0)
未经允许不得转载:171主机测评 » C++学习笔记系列2-17
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址