WeHelp
C 語言是一種通用的、程序式的程式語言,可直接對記憶體與硬體進行操作,效率極高。
  1. C 特色用途、相關職務
  2. Windows 環境建置、測試
  3. Mac 環境建置、測試
  4. Linux 環境建置、測試
  5. C 標準輸出、輸入
  6. C 資料型態
  7. C 變數使用
  8. C 運算符號
  9. IF 條件判斷
  10. Switch 條件判斷
  11. While 迴圈
  12. For 迴圈
  13. Array 陣列
  14. String 字串
  15. Function 函式
  16. 標準函式庫
  17. Struct 結構
  18. Pointer 指標
  19. 指標與函式參數
  20. 指標與陣列
  21. 指標與結構
  22. 動態配置記憶體
Array 陣列
# C 語言的 Array(陣列)概念 陣列是一種可以儲存「多個相同型別資料」的資料結構。陣列中的每個元素依序排列,並透過索引(index)存取。 ## 1. 宣告陣列 ```c 資料型別 陣列名稱[元素數量]; ``` 例如: ```c int scores[5]; ``` 代表宣告一個可以存放 5 個 `int` 的陣列。 陣列索引從 **0 開始**: ```c scores[0] = 80; // 第 1 個元素 scores[1] = 90; // 第 2 個元素 scores[4] = 75; // 第 5 個元素 ``` 不能存取超出範圍的索引,例如 `scores[5]` 是錯誤的,因為有效索引為 `0 ~ 4`。 --- ## 2. 宣告時初始化 ```c int numbers[5] = {10, 20, 30, 40, 50}; ``` 也可以省略陣列大小: ```c int numbers[] = {10, 20, 30, 40, 50}; ``` 編譯器會根據初始值自動決定陣列大小。 若只提供部分初始值,其餘元素會自動設為 `0`: ```c int values[5] = {1, 2}; // 結果為:{1, 2, 0, 0, 0} ``` --- ## 3. 使用迴圈處理陣列 陣列通常會搭配 `for` 迴圈使用: ```c for (int i = 0; i < 5; i++) { printf("%d\n", numbers[i]); } ``` 注意:陣列長度必須由程式設計師自行管理,C 語言不會自動檢查索引是否超出範圍。 --- # 範例一:計算陣列元素總和與平均值 ```c #include <stdio.h> int main(void) { int numbers[] = {10, 20, 30, 40, 50}; int size = sizeof(numbers) / sizeof(numbers[0]); int sum = 0; for (int i = 0; i < size; i++) { printf("numbers[%d] = %d\n", i, numbers[i]); sum += numbers[i]; } printf("總和 = %d\n", sum); printf("平均值 = %.2f\n", (double)sum / size); return 0; } ``` ### 重點 ```c sizeof(numbers) / sizeof(numbers[0]) ``` 可以計算陣列的元素數量: - `sizeof(numbers)`:整個陣列佔用的位元組數 - `sizeof(numbers[0])`:一個元素佔用的位元組數 --- # 範例二:二維陣列表示矩陣 二維陣列可以想成表格,具有「列」和「欄」。 ```c #include <stdio.h> int main(void) { int matrix[2][3] = { {1, 2, 3}, {4, 5, 6} }; for (int row = 0; row < 2; row++) { for (int col = 0; col < 3; col++) { printf("%d ", matrix[row][col]); } printf("\n"); } return 0; } ``` 輸出: ```text 1 2 3 4 5 6 ``` 存取二維陣列時: ```c matrix[列索引][欄索引] ``` 例如: ```c matrix[0][1] = 2; matrix[1][2] = 6; ``` --- ## 4. 字元陣列與字串 在 C 語言中,字串通常使用 `char` 陣列表示,最後必須包含結尾字元 `'\0'`: ```c char name[] = "Alice"; ``` 實際上會儲存: ```text 'A' 'l' 'i' 'c' 'e' '\0' ``` 因此,陣列大小會是 6,而不是 5。 --- ## 重點整理 1. 陣列只能儲存相同型別的資料。 2. 索引從 `0` 開始。 3. 宣告格式為: ```c 型別 名稱[大小]; ``` 4. 不可存取超出陣列範圍的索引。 5. 陣列常搭配 `for` 迴圈使用。 6. C 語言的陣列大小通常在宣告時決定。 7. 二維陣列可用來表示矩陣或表格。
相關學習地圖、教學課程
C 語言,系統程式
掌握基礎的 C 語法,以及進階的系統程式開發能力。