C/C 中的指標變數宣告:理解樣式
在C/C 中宣告指標變數引發了關於兩種表示法的爭論:
(a) 字符* p;
(b) char *p;
兩種風格都有效,但選擇反映了不同的程式設計觀點和重點。
風格(a):強調表達式
這種風格對待指標變數(例如,p)作為單一實體,其中星號(*) 是名稱聲明的一部分。從語法的角度來看,星號綁定到名稱 p 並指示變數的類型(例如,指向 char 的指標)。這種方法與傳統的 C 觀點一致,即強調表達式並將聲明視為必要的形式。
樣式 (b):強調類型
相反,樣式(b) 更重視類型。它認為星號 (*) 是類型規範的一部分(例如,指向 char 的指標)。這種風格更符合 C 程式設計範式,它非常注重類型和物件導向原則。
Bjarne Stroustrup 的觀點
Bjarne Stroustrup, C 的創建者,提倡後一種風格(int p;),因為它在指定方面很清晰變數的型別(int*)。他強調這種方法更符合 C 的高階功能。
上下文注意事項
在一行中聲明多個指標變數時,將星號與變數一起使用名稱(樣式(a))可能會導致混亂。例如:
char c, d;
在這種情況下,可能不太清楚c 和d 都是指向字元的指標。使用帶有類型規範(樣式 (b))的星號可以解決這種歧義:
char c, d;
結論
風格(a)和風格(b)之間的選擇最終是一個個人喜好和程式哲學的問題。對於來自 C 背景的人來說,樣式 (a) 可能更直觀,而樣式 (b) 更符合 C 的以類型為中心的方法。
以上是C/C 指標宣告:`char* p` 與 `char *p` – 哪種風格最好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!