C++初级学习六——数组

2023-12-21 19:10:57

一维数组

定义:

1、数组是把具有相同类型的若干变量按有序的形式组织起来的集合。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、数组是一组用来存放多个相同类型的数据集合,该集合中的每一个成员称为数组元素。
3、通过数组名和一个下标唯一确定的称为一 维数组。
4、数组在使用前必须先定义。

举例:

float a[10];数组a中存贮了10个数组

定义格式:

类型标识符 数组名[整型常量表达式];
int score[5];

数组是整型,长度为5,包含5个数据

说明:

(1) "类型标识符” 表示数组中每个元素的数据类型。? ?即int

(2)“数组名” 应是合法的用户标识符。score? ??数字字母下划线,首字母非数字,非关键字

int a-1[5];? ? 不合法,有一个短横杠

(3)“整型常量表达式”用方括号括起来。

int b(5);
/*错误,不能使用圆括号*/

(4) "整型常量表达式”表示数组长度(数组元素个数),下标下限为0,下标上限为"整型常量表达式-1”。
int b[5];?
数组b有5个元素,分别是: b[0]、 b[1]、 b[2]、b[3]、b[4]

(5) [ ]中可为普通常量或符号常量,不能为变量。

(6)为数组分配连续的存储空间
数组名代表数组在内存中存放的首地址(即数组第一个元素在内存中的存储地址)。

int a[10];

一个整型变量占4个字节,10个占据40个字节

初始化:

定义:

对一维数组元素赋初值,即初始化。

情况一:

定义数组的同时对数组全部元素赋初值

将各元素的初值顺序放在{}内,数据间逗号分隔。字符常量要用单引号括起来

10是可以省略的,{}包含多少数据元素,长度为多少,默认对全部元素进行赋初值

情况二:

对数组部分元素赋初值
后7个元素系统赋初值为0.0

10是不可以省略的

情况三:

如果不进行初始化,随机分配数值

例题:

例题一:数组定义及初始化 :

int a[3]={};
该数组各个元素的值分别为多少?

虽然{}并没有数值,但是它具备初始化的格式(={}),如果一个值也没有的话,那么所有的数据值默认为0
a[0]=0? a[1]=0? a[2]=0

不进行初始化如int a[3];
则各元素的值是随机值。

例题二:数组定义及初始化 :

int a[3]={1};
该数组各个元素的值分别为多少?
a[0]=1? ? ?a[1]=0? ? ? ?a[2]=0
如果不赋值,元素默认值为0

引用:

方法:

引用数组中的元素可通过使用数组名及下标来实现。

引用格式:

数组名[下标]

注意:
①下标必须从0开始,上限是 (数组长度-1) ;
例如:数组int a[10]中10个元素的引用:
a[0] a[1] a[2]........a[9]

②下标可以是常量、变量或者表达式
例如:数组int a[10]中元素的引用:

a[1]? ?a[i]? ?a[i+1]

③数组同变量一样,必须先定义后引用,原类型能出现的位置都能使用。
a[5]=6; a[7]=a[5]++;
a[6]=3; a[0]=a[5]+a[7]-a[2*3];?

④数组名表示数组的首地址。a和&a[0]的值相等
scanf(" %d",&a[0]); //引用a[0]元素, 通过键盘为其输入值。
scanf("%d", a);?

⑤在C语言中只能逐个使用下标变量引|用数组元素,而不能一次引用整个数组。
如:输出int a[10]中的元素:
printf( "%d" ,a[0]);
printf(“%d" ,a[1]);
printf(“%d" ,a[2]);

......
printf(“%d”,a[9]);

如:输出int a[10]中的元素:
for(i=0;i<=9;i++)
printf(“%d" ,a[i]);

而不能用一个语句输出整个数组,只能输出该数组的首地址。
printf(“%d" ,a);

例题:

例题一:

如: int i[4]={1,2,3,4};
该数组名称为i;
数组类型为int,数组中元素的数据类型为int;
数组长度为4,即一共4个元素;
数组下标从0开始到数组长度减1,即从0—3;
数组中每- -个元素可以用下标访问:
即i[0] i[1] i[2] i[3]
每一个元素的值为:
i[0]=1? ? ? i[1]=2? ? ? i[2]=3? ? ? i[3]=4

典型错误:

数组的非法操作:

1、用一个已经初始化的数组对另一个数组赋值

原因:不能一次性引用整个数组,只能一个元素一个元素的引用

2、对数组进行整体输入输出

原因:要结合循环,这样只能输出该数组的首地址

3、数组与数组不能进行比较

原因:不能一次性引用整个数组,只能一个元素一个元素的引用

4、数组与数组不能进行运算

原因:不能一次性引用整个数组,只能一个元素一个元素的引用


二维数组
字符数组
数组应用
?

文章来源:https://blog.csdn.net/weixin_64033212/article/details/135133128
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。