更多课程 选择中心

C/C++培训
达内IT学院

400-996-5531

C语言中的一维数组和二维数组

  • 发布:C++培训
  • 来源:C语言中北在线
  • 时间:2019-12-06 15:34

在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。

数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。

要使用数组,必须在程序中先定义数组,即通知计算机:由哪些数据组成数组,数组中有多少元素,属于哪个数据类型。

一维数组的定义方式

定义:

类型说明符 数组名 [常量表达式]

例如:

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}

这两种赋初值的结果是完全相同的。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:C++ Swap函数有几种写法?
下一篇:C语言函数—数学函数,全在这里!

C语言创建windows窗口实例

C++回调函数是什么?

C++ shared_ptr和动态数组

C语言有哪些关键词,C语言44个关键词大全

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省