想像一下…

考慮以下題目(課堂投影片的開場題):

用以前的知識,這題怎麼寫?

規則簡單到不行——但要印的第一個數,是最後一個讀進來的:開始輸出之前,整串數列都得記著。如果題目固定 N = 3,你可能這樣寫:

int a1, a2, a3;                        // 宣告三個變數
cin >> a1 >> a2 >> a3;
cout << a3 << " " << a2 << " " << a1;  // 倒著印

N 不是固定的 3——上限是 100,而且是執行時才讀進來的。你得宣告 100 個名字不同的變數,讀入時用 100if 控制「讀到第幾個」,倒著印又是另外 100 層。硬寫寫得出來,但程式碼隨上限爆炸成長,題目上限一改就整份重寫。

癥結在於:需要一口氣記住一整串資料,之後還要按編號把它們翻出來用

這時,陣列就派上用場了。陣列讓你用一個名稱和數字索引管理大量資料。