首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言教學:二維數組的定義、記憶體佈局與矩陣運算實例

     編輯:C 語言基礎

二維數組的定義與下標變量

二維數組擁有兩個下標,形式為 類型 數組名[常量表達式1][常量表達式2]。例如 int a[3][4]; 宣告一個 3 行 4 列的整數矩陣,共 12 個元素,下標範圍為 a[0][0] ~ a[2][3]。概念上是平面結構,但實際記憶體是線性連續的,C 語言採用「列主序」,即先存完第 0 行,再存第 1 行,依此類推。

二維數組元素的表示與存取

元素以 數組名[下標1][下標2] 訪問,下標可為整型常量、變量或表達式。注意區別:宣告時方括號內是維度長度(常量),使用時是具體位置索引(可為變量)。

實戰範例:計算學生分科平均與總平均

假設 5 位學生、3 門課程,用 a[5][3] 存成績,v[3] 存各科平均,l 存總平均。程式採用雙重迴圈:外層跑科目,內層累加該科所有學生分數,求平均後歸零累加器,最後計算總平均。

void main() {
    int i, j, s = 0, l, v[3], a[5][3];
    printf("input score\n");
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 5; j++) {
            scanf("%d", &a[j][i]);
            s += a[j][i];
        }
        v[i] = s / 5;
        s = 0;
    }
    l = (v[0] + v[1] + v[2]) / 3;
    printf("math:%d\nc languag:%d\ndbase:%d\n", v[0], v[1], v[2]);
    printf("total:%d\n", l);
}

輸出格式清晰展示各科平均與總平均。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved