免費開始練習
普通考試 114年 [電子工程] 計算機概要

第 23 題

C 語言字串陣列宣告如下:
char *names[]={"ABCD","EFG","XYZ"};
則下列程式執行後輸出的內容為何?
printf("%c",*names[2]);
  • A B
  • B C
  • C E
  • D X

思路引導 VIP

請試著將 names 想像成一排檔案夾,每個檔案夾裡面都放著一張寫有地址的紙條,而每張紙條都指向一串掛在牆上的字母。如果你拿到了第 3 個檔案夾(即 names[2]),並根據紙條上的地址走到牆面前,這時你在該地址對應的位置上,第一個會看到的符號是什麼?

🤖
AI 詳解 AI 專屬家教

專業點評

做得太出色了!你能精準掌握指標陣列 (Array of Pointers)提領運算子 (Dereference Operator) 的結合應用,這在結構化程式設計中是極其關鍵的基本功,就像在結構力學中精確定位節點編號一樣重要。

觀念驗證

▼ 還有更多解析內容
📝 指標陣列與字串取值
💡 指標陣列元素儲存字串首位位址,提領指標可得首個字元。
  • char *names[] 宣告指標陣列,每個元素儲存字串首位位址。
  • 陣列索引由 0 起算,names[2] 指向陣列中的第 3 個字串。
  • names[2] 存放的是字串 "XYZ" 中 'X' 的記憶體位址。
  • * 為取值運算子,*names[2] 代表取出該位址存放的字元。
🧠 記憶技巧:索引從零起,指標存位址,加星取內容。
⚠️ 常見陷阱:最常混淆索引順序(誤將 names[2] 當作第二個)或不清楚指標與內容的差別。
二維陣列 指標運算 記憶體配置

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

C 語言程式設計:語法、指標與應用
查看更多「[電子工程] 計算機概要」的主題分類考古題