二維數組檢視原始碼討論檢視歷史
二維數組 |
中文名: 二維數組 表達式: a為3*4(3行4列)的數組 適用領域: 數組 例 如: float a,b 實 質: 數組的數組 |
二維數組本質上是以數組作為數組元素的數組,即「數組的數組」,類型說明符 數組名常量表達式常量表達式。二維數組又稱為矩陣,行列數相等的矩陣稱為方陣。對稱矩陣a[i][j] = a[j][i],對角矩陣:n階方陣主對角線外都是零元素。[1]
定義
例如: float a,b; 定義a為3*4(3行4列)的數組,b為5*10(5行10列)的數組。注意,不能寫成 float a[3,4],b[5,10]; 為便於理解特加入一個C語言程序及其運行結果: 運行結果為(為便於觀看,整理成表格):
概述
二維數組A[m][n],這是一個m行,n列的二維數組。設a[p][q]為A的第一個元素,即二維數組的行下標從p到m+p,列下標從q到n+q,按「行優先順序」存儲時則元素a[i][j]的地址計算為: LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t 按「列優先順序」存儲時,地址計算為: LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t 存放該數組至少需要的單元數為(m-p+1) * (n-q+1) * t 個字節 //其中A, B是m*n矩陣:
相關概念
C++動態二維數組: 以整形為例,row為行數,col為列數 int **data;//存儲二維數組的指針(指向指針的指針。date=x的地址。這樣標會更好。因為sizeof(date)結果為4不可能存下二維數組)
參見
矩陣 稀疏矩陣