回覆列表
  • 1 # 使用者3320167865544781

    概念: 陣列:C語言中, 具有相同資料型別的一組變數的集合。 特點: 陣列可用於儲存多個擁有相同資料型別的變數。一、一維陣列 宣告格式: 資料型別 陣列名[陣列長度/陣列中元素的個數]; eg: int int_array[5]; 一維初始化方式(3種):1、定義的同時進行初始化 int int_array[5] = {1, 2, 3, 4, 5};注意: 此種初始化方式下, 陣列長度可省略不寫,預設系統自動計算陣列長度。2、先定義, 後初始化 int int_array[5]; // int_array[5] = {1, 2, 3, 4, 5}//Error,錯誤訪問方式 int_array[0] = 1; int_array[2] = 3;注意: 此種初始化方式下: 1、陣列定義的同時,必須指明陣列長度 2、陣列的索引(下標)預設從0開始, 依次遞增1 3、陣列中若包含未被初始化的元素,則元素值為當前資料型別的預設值(預設值)int整型預設值為零。3、使用者輸入初始化 eg: int int_array[5]; printf("Please input five numbers: \n"); for(int i = 0; i < 5; i ++){ scanf("%d", &int_array[i]); } 一維陣列訪問方式: int int_array[5] = {1, 2, 3, 4, 5}; 1、單個元素訪問 eg: printf("%d %d %d\n", int_array[0], int_array[1], int_array[5]); 2、批次元素訪問(for迴圈) eg: for(int i= 0; i < 5; i ++){ printf("int_array[%d] = %d\n", i, int_array[i]); } 注意: 1、陣列容易造成記憶體浪費 2、陣列容易訪問越界二、二維陣列 宣告格式: 資料型別 陣列名稱[行數][列數]; eg: int int_array[2][3];初始化方式:1、定義的同時進行初始化 int int_array[2][3]; 1、按行分段式初始化 int_array[2][3] = {{1, 2, 3}, {4, 5, 6}}; 2、按行連續初始化 int_array[2][3] = {1, 2, 3, 4, 5, 6}注意: 此種初始化方式下, 二維陣列行數可省略不寫,但列數必須宣告 行數 = 元素總數 / 列數2、先定義, 再初始化 int int_array[2][3]; //int_array[2][3] = {1, 2, 3, 4, 5, 6}//Error,錯誤的初始化方式 int_array[0][0] = 1 int_array[0][1] = 2 int_array[1][2] = 3注意: 1、二維陣列是一種構造型別的資料,可被看作兩個一維陣列的巢狀 2、二維陣列可初始化部分元素,未被初始化的元素將被賦予當前資料型別的預設值(預設值)3、使用者輸入初始化方式 eg: int int_array[2][3]; printf("Please input some numbers for initialize: \n"); for(int i = 0; i < 2; i ++){ for(int j = 0; j < 3; j ++){ scanf("%d", &int_array[i][j]); } }陣列訪問方式: int int_array[2][3] = {1, 2, 3, 4, 5, 6};1、單個元素訪問 eg: printf("%d %d %d\n", int_array[0][0], int_array[1][1], int_array[1][3]);2、批次元素訪問 eg: for(int i = 0; i < 2; i ++){ for(int j = 0; j < 3; j ++){ printf("int_array[%d][%d] = %d\n", i, j, int_array[i][j]); } }

  • 中秋節和大豐收的關聯?
  • in ten minutes是什麼時態的標誌?