C/C++培训
达内IT学院
400-996-5531
在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。
数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。
要使用数组,必须在程序中先定义数组,即通知计算机:由哪些数据组成数组,数组中有多少元素,属于哪个数据类型。
一维数组的定义方式
定义:
类型说明符 数组名 [常量表达式]
例如:
int a[10]
说明整形数组a,有10个元素
float b[10],c[20]
说明实型数组b,有10个元素,实型数组c,有20个元素
char ch[20]
说明字符数组ch,有20个元素
注意:
1、数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。
2、数组名的书写规则应符合标识符的书写规定。
3、数组名不能与其他变量名相同。
4、方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素、但是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]
5、不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。
6、允许在同一个类型说明中,说明多个数组和多个变量。
一维数组元素的引用
数组元素的一般形式为:
数组名[下标]
注意:
其中下标只能为整形常量或整形表达式。如为小数时,C编译将自动取整。
例如:
a[5] a[i+j] a[i++] 都是合法的数组元素
再例如:
输出10个元素的数组必须使用循环语句逐个输出各下标变量:
for(i=0;i<;10;a[i]) printf("%d",a[i]);
而不能用一个语句输出整个数组。
下面的写法是错误的:
printf("%d",a);
一维数组的初始化
int a[10]={0,1,2,3,4,5,6,7,8,9};
相当于a[0]=0;a[1]=1;a[2]=2;a[3]=3;......a[9]=9;
C语言对数组的初始化赋值还有以下几点规定:
1、可以只给部分元素赋初值
当{}中值的个数少于元素个数时,只给前面的部分元素赋值。
例如:
int a[10]={0,1,2,3,4}
表示只给a[0]~a[4],5个元素赋值,而后5个元素自动赋0值。
2、只能给元素逐个赋值,不能给数组整体赋值
例如给十个元素全部赋1值,只能写成:
int a[10]={1,1,1,1,1,1,1,1,1,1};
而不能写成:
int a[10]=1;
3、如给全部元素赋值,则在数组说明中,可以不给出数组元素的个数。
例如:
int a[5]={1,2,3,4,5};
可写为:
int a[]={1,2,3,4,5};
二维数组的定义
定义:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2表示第二维下标的长度。
例如:
int a[3][4]
说明了一个三行四列的数组,数组名为a,其下标变量的类型为整形。该数组的下标变量共有3×4个,即:
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
在C语言中,二维数组是按行排列的。即先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四个元素也是依次存放。由于数组a说明为int类型,该类型占两个字节的内存空间,所以每个元素均占有两个字节。
二维数组元素的引用
二维数组的元素也称为双下标变量,其表示的形式为;
数组名[下标][下标]
其中下标应为整型常量或整形表达式。
例如:
a[3][4]
表示a数组三行四列的元素。
二维数组的初始化
二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可以按行分段赋值,也可以按行连续赋值。
例如对数组a[5][3]
1、按行分段赋值可写为:
int a[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,78,90},{76,78,98}}
2、按行连续赋值可写为:
int a[5][3]={80,75,92,61,65,71,59,63,70,85,78,90,76,78,98}
这两种赋初值的结果是完全相同的。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved