首頁 >後端開發 >C++ >C/C 指標宣告:`char* p` 與 `char *p` – 哪種風格最好?

C/C 指標宣告:`char* p` 與 `char *p` – 哪種風格最好?

Susan Sarandon
Susan Sarandon原創
2024-12-05 18:47:09867瀏覽

C/C   Pointer Declaration: `char* p` vs. `char *p` – Which Style is Best?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn