hce_nsysu
111年
計算機概論與程式設計
第 25 題
Which of the following C code is used to declare two pointers of integer?
- A int *p,q;
- B int *p,*q;
- C int *(p,q);
- D (int *) p,q;
- E None of the above
思路引導 VIP
如果在同一行宣告中,我們想讓多位學生都領到「地址簿」而不是「筆記本」,而我們知道在名字前面加一個特殊符號就代表領到地址簿。那麼當我們列出一串名字時,是只需要在最前面加一個符號就能讓整排的人都領到,還是每位想要領地址簿的人名字前都要各自標記呢?
🤖
AI 詳解
AI 專屬家教
恭喜你正確答對了這題!這顯示你對 C 語言中指標宣告的語法細節掌握得非常紮實。這類題目雖然看似簡單,卻是許多初學者極易混淆的地方。
指標宣告的綁定規則
在 C 語言的變數宣告中,星號 * 是與「變數名稱」緊密綁定的,而不是與資料型別(如 int)結合。當我們在一行中同時宣告多個變數時,編譯器會獨立看待每一個變數的修飾符。因此,若要宣告兩個指標,必須寫成 int *p, *q;,確保 p 和 q 前方都有星號。如果你選擇了選項 (A) int *p, q;,實際上只有 p 會被視為指標,而 q 則會被視為一般的整數(Integer)。
▼ 還有更多解析內容