二維數組元素的表示形式爲:編程
數組名[下標][下標]數組
例如:a[2][3]3d
下標能夠是整型表達式,如a[2-1][2*2-1]cdn
不要寫成a[2,3],a[2-1,2*2-1]形式視頻
數組元素能夠出如今表達式中,也能夠被賦值blog
例如:b[1][2]=a[2][3]/2教程
在使用數組元素時,應該注意下標值應在已定義的數組大小的範圍內。it
常出現的錯誤有:io
int a[3][4];/定義a爲3×4的數組/class
┆
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}};
二維數組程序舉例
例一、將一個二維數組行和列元素互換,存到另外一個
二維數組中。
#include<stdio.h>
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<=1;i++)
{
for(j=0;j<=2;j++)
{
printf(″%5d″,a[i][j]);
b[j][i]=a[i][j];
}
printf(″\n″);
}
printf(″array b:\n″);
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
printf("%5d″,b[i][j]);
printf(″\n″);
}
}/程序結束/
例2:有一個3×4的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。
程序:
#include<stdio.h>
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<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{max=a[j];
row=i;
colum=j;
}
printf(″max=%d,row=%d,colum=%d\n″,
max,row,colum);
}/程序結束/
最後:
關注回覆「物聯網」便可獲取物聯網全套視頻教程