C语言中的二维数组

1.二维数组的定义

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

(1).类型说明符            表示二维数组中数据元素的类型 
(2).数组名                   标识符 
(3).[常量表达式][常量表达式]  
       第1维             第2维   
          行                   列 
int score[5][6];          表示定义了一个包含了5行 6列 int型数据的数组
     
2.二维数组的本质    实际上一个一维数组的一维数组 ,c语言中并不存在真正的二维数组。

int a[3][4];      一维数组(int[4])的 一维数组 [3] 

3.二维数组元素的访问:
数组名[第一维下标][第二维下标]
数组名[行][列]

4.初始化

全部初始化 
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

部分初始化 
int a[3][4] = {1,2,3,4,5,6};

全部初始化成0 
int a[3][4] = {};
int a[3][4] = {0};

初始化时:二维数组的行数可以省略,单数列数不能省略 。
int a[][4] = {1,2,3,4} 

例:定义一个3*4的二维数组,从键盘输入数据 ,找出能被3整除的数 

	int a[3][4];
	int i=0;
	int j=0;
	for(i=0;i<3;++i)
	{
		for(j=0;j<4;++j)
		{
		scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<3;++i)
	{
		for(j=0;j<4;++j)
		{
			if(a[i][j]%3==0)
			{
				printf("%d ",a[i][j]);
			}
		}
	}

     从 二维数组中 找最大值

	int a[2][3];
	int i=0;
	int j=0;
	for(i=0;i<3;++i)
	{
		for(j=0;j<4;++j)
		{
			scanf("%d",&a[i][j]);
		}
	}
	int max = a[0][0];
	for(i=0;i<3;++i)
	{
		for(j=0;j<4;++j)
		{
			if(a[i][j]>max)
			{
				a[i][j]=max;
			}
		}
	}
	printf("%d",a[i][j]);

你可能感兴趣的:(c语言,算法,数据结构)