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 語言語法的嚴謹性有很好的認識。