学习
实践
活动
工具
TVP
写文章

物联网学习教程——二维数组的引用

二维数组元素的表示形式为:

数组名[下标][下标]

例如: a[2][3]

下标可以是整型表达式,如 a[2-1][2*2-1]

不要写成 a[2,3],a[2-1,2*2-1]形式

数组元素可以出现在表达式中,也可以被赋值

例如:b[1][2]=a[2][3]/2

在使用数组元素时,应该注意下标值应在已定义的数组大小的范围内。

常出现的错误有:

int a[3][4];  /* 定义a为3×4的数组 */

a[3][4]=3;

数据类型

数组名 [常量表达式1][常量表达式2]={ 初始化数据 };

可以用下面4种方法对二维数组初始化:

1.分行给二维数组赋初值。

例如: int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

2.可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。

4.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

例如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};它等价于:int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

在定义时也可以只对部分元素赋初值而省略第一维的长度,但应分行赋初值。

例如:int a[][4]={{0,0,3},{},{0,10}};

二维数组程序举例

例1、将一个二维数组行和列元素互换,存到另一个二维数组中。

#include

void main()

{

int a[2][3]={{1,2,3},{4,5,6}};

int b[3][2],i,j;

printf(″array a:\n″);

for (i=0;i

{

for (j=0;j

{

printf(″%5d″,a[i][j]);

b[j][i]=a[i][j];

}

printf(″\n″);

}

printf(″array b:\n″);

for (i=0;i

{

for(j=0;j

printf("%5d″,b[i][j]);

printf(″\n″);

}

} /*程序结束*/

例2: 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

程序:

#include

void main()

{

int i,j,row=0,colum=0,max;

int a[3][4]={{1,2,3,4},{9,8,7,6},

{-10,10,-5,2}};

max=a[0][0];

for (i=0;i

for (j=0;j

if (a[i][j]>max)

{    max=a[i][j];

row=i;

colum=j;

}

printf(″max=%d,row=%d,colum=%d\n″,

max,row,colum);

} /*程序结束*/

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190904A0C63G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券