經過前三篇文章的學習,相信大家已經對C語言有了基本認識。現在來看一個實際問題:如果要輸入五個學生的成績並計算總分與平均值,大多數初學者會定義五個變量。但如果學生數量變成20個、50個甚至更多,難道要繼續定義大量變量嗎?這顯然不現實。C語言提供了陣列機制,讓我們將相同類型的數據按順序存儲在一個集合中,並透過索引(下標)高效訪問。

一維陣列適合存儲線性數據(如學生成績),二維陣列則常用於表格類數據(如矩陣、座標)。定義語法如下:
// 一維陣列
int scores[5] = {85, 90, 78, 92, 88};
// 二維陣列
int matrix[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
訪問元素時使用下標,如 scores[0] 代表第一個元素,matrix[1][2] 代表第二行第三列。

在C語言中,字串本質是以空字符 \0 結尾的字符陣列。這一點至關重要:
\0)== 比較字串內容(那會比較地址),需用 strcmp()sizeof(陣列名)/sizeof(元素類型) 計算陣列長度<string.h>)| 函數 | 功能 | 備註 |
|---|---|---|
| strcpy(dest, src) | 複製字串 | 會覆蓋目標內容,需確保目標空間足夠 |
| strcat(dest, src) | 拼接字串 | 將 src 接到 dest 末尾 |
| strcmp(s1, s2) | 比較字串 | 相等返回0;s1>s2返回正數;s1<s2返回負數 |
| strlen(str) | 獲取字串長度 | 不包含結束符 \0 |
\0 結尾,字符陣列需預留空間sizeof 計算陣列元素個數,避免硬編碼掌握陣列與字串,是編寫高效C程式的關鍵基礎。下一節我們將探討函數與模組化程式設計,敬請期待!