學(xué)習(xí)啦 > 知識大全 > 知識百科 > 百科知識 > 在c語言中什么是二維數(shù)組

在c語言中什么是二維數(shù)組

時間: 歐東艷656 分享

在c語言中什么是二維數(shù)組

  二維數(shù)組的定義

  二維數(shù)組定義的一般形式是:

  dataType arrayName[length1][length2];

  其中,dataType 為數(shù)據(jù)類型,arrayName 為數(shù)組名,length1 為第一維下標(biāo)的長度,length2 為第二維下標(biāo)的長度。例如:

  int a[3][4];

  定義了一個3行4列的數(shù)組,共有3×4=12個元素,數(shù)組名為a,即:

  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]

  在二維數(shù)組中,要定位一個元素,必須給出一維下標(biāo)和二維下標(biāo),就像在一個平面中確定一個點,要知道x坐標(biāo)和y坐標(biāo)。例如,a[3][4] 表示a數(shù)組第3行第4列的元素。

  二維數(shù)組在概念上是二維的,但在內(nèi)存中地址是連續(xù)的,也就是說存儲器單元是按一維線性排列的。那么,如何在一維存儲器中存放二維數(shù)組呢?有兩種方式:一種是按行排列, 即放完一行之后順次放入第二行。另一種是按列排列, 即放完一列之后再順次放入第二列。

  在C語言中,二維數(shù)組是按行排列的。也就是先存放a[0]行,再存放a[1]行,最后存放a[2]行;每行中的四個元素也是依次存放。數(shù)組a為int類型,每個元素占用4個字節(jié),整個數(shù)組共占用4×(3×4)=48個字節(jié)。


c語言二維數(shù)組

  轉(zhuǎn)置矩陣

  //其中A,B是m*n矩陣:

  voidtramat(matrixA,matrixB){inti,j;

  for(i=0;i

  for(j=0;j

  B[j]

  }

  矩陣相加

  //其中A,B,C是m*n矩陣:

  voidaddmat(matrixC,matrixA,matrixB){

  inti,j;

  for(i=0;i

  for(j=0;j

  c[j]=A[j]+B[j];

  }

  矩陣相乘

  //其中A是m*n矩陣,B是n*1矩陣,C為m*1矩陣

  voidmutmat(matrixC,matrixA,matrixB){

  inti,j,k;

  for(i=0;i

  for(j=0;j

  C[j]=0;

  for(k=0;k

  C[j]=C[j]+A[k]*B[k][j];

  }

  }

243532