其他分享
首页 > 其他分享> > “21天养成好习惯” 第一期 -20

“21天养成好习惯” 第一期 -20

作者:互联网

二维数组:

如何定义二维数组:

 如:

 实质上,二维数组是由一维数组构成的

如:
int a2[2][3];

//由两个一维数组组成,数组长度为2;

//数组元素是由一个存放3个整数的数组;

内存单元是一维的

二维数组存放:

二维数组在内存中按行连续存放。

例:int a[2][3];                                                                                        

        a数组有二行三列的整形数组,共有六个元素;                                

分别为:                                                  

 二维数组的引用:

需要用两个下标,

数组名[下标1][下标2];
两个下标必须分别加方括号。不能把a[下标1][下标2]写成a[0,1]
行下标和列下标不能交换。alOI[l]和a[lI이是两个不同的元素
不能直接引用a[0]。

二维数组的初始化:

初始化可以按分行赋初值的方式,也可以按不分行赋初值的方式,分行赋初值稈序更清晰;

 其中

表示:在大花括号内的第一个花括号给第一行的赋初值即a[0][0],a[0][1],a[0][2];使他们分别等于10,20,30;同理:第二个花括号即为第二行的元素赋初值;

但在 中

表示分别给a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]赋予10 20 30 40 50 60的值;

同一维数组一样,二维数组也可以给部分元素赋初值;

 两种赋值方式注意区别。

二维数组的初始化:

如果初始化提供了足够的信息(全部初值或分行初始化)则定义数组时可以省略第一维的长度。

 例。求一个3×4的矩阵中最大的元素及数组中的
行列位置。

 分析思路:

假设第一个元素是当前最大值
从第二个(或第一个)元素起,逐个比较判断,如果发现该元素比当前最大值大,则将其值记录新的当前最大值,并记下当前行类位置;

#include<stdio.h>
int main()
{
	int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
	int i,j;
	
	int row=0,colum=0,max=a[0][0];
	
	for(i=0;i<=2;i++)
		for(j=0;j<=3;j++)
			if(a[i][j]>max)
				{
					max=a[i][j];
					row=i;
					colum=j;
				}
	printf("矩阵的最大元素是a[%d][%d]=%d\n",row,colum,max);
	
	return 0;
}

 

标签:下标,21,int,初值,元素,第一期,二维,数组,20
来源: https://blog.csdn.net/Charlotte_21/article/details/121255621