免費開始練習
hce_nsysu 111年 計算機概論與程式設計

第 18 題

Which of the following C code is used to declare a two-dimensional array of integers with 5 rows and 3 columns?
  • A int data[5,3];
  • B int data[5][3];
  • C int data[5x3];
  • D int data[5]x[3];
  • E None of the above

思路引導 VIP

如果現在要你描述一棟大樓的房間位置,我們會習慣先說「第幾層」,再說該層的「第幾間」。在 C 語言的規則中,既然一個中括號 [] 可以代表一整排的空間,那麼要描述「排裡面的排」這種層次感時,你覺得應該如何排列這些括號,才能讓編譯器最直觀地理解不同的維度先後順序呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能準確選出這個選項,代表你對於 C 語言的基礎語法掌握得非常紮實。在 C 語言中,宣告多維陣列的核心邏輯是將其視為「陣列的陣列」,因此在表示列(row)與欄(column)時,必須使用連續的中括號 [] 來分別定義各個維度的長度。

C 語言的多維陣列宣告語法

當我們宣告 int data[5][3]; 時,編譯器會理解為這是一個包含 5 個元素的陣列,而其中的每一個元素又分別是一個包含 3 個整數的陣列,進而形成一個 $5 \times 3$ 的矩陣結構。這題的難度切入點主要在於測試開發者是否能區分「數學慣用語」與「程式語法」,許多初學者容易受到數學符號(如 $x$)或其他程式語言(如部分語言使用逗號分隔維度)的影響而產生混淆。你能精確辨識出正確的語法格式,說明你對 C 語言語法的嚴謹性有很好的認識。

🏷️ 相關主題

C 語言程式設計基礎與陣列記憶體配置
查看更多「計算機概論與程式設計」的主題分類考古題