一千萬個為什麽

搜索

宣布指針;類型和名稱之間的空格左側或右側的星號?


可能重復:
  更有意義的是什麽 - char * string或char * string?    C ++中的指針聲明:星號的放置
  

我在很多代碼中都看到了這個版本的混合版本。 (順便說一句,這適用於C和C ++。)人們似乎用兩種方式之一來聲明指針,我不知道哪一個是正確的,如果它甚至是重要的。

第一種方法是將星號放在類型名稱旁邊,如下所示:

someType* somePtr;

第二種方法是將星號放在變量名稱旁邊,如下所示:

someType *somePtr;

這已經讓我瘋了一段時間了。是否有任何標準方法來聲明指針?甚至指針是如何聲明的?我之前使用過兩個聲明,而且我知道編譯器並不關心它是哪種方式。然而,事實上,我已經看到以兩種不同的方式宣告指針,這讓我相信它背後有一個原因。我很好奇,如果任何一種方法在某些方面更具可讀性或邏輯性,那我就錯過了。

最佳答案

沒關系。如果你在 int * a <�中聲明同一個聲明中的多個變量,那麽其他人將會出現並將這個問題作為一個騙局來關閉,並且其他人將展示 int * a 方式如何中斷/ code>方式更好地反映了代碼的語法結構,另一個人會表明Stroustrup更喜歡 int * a 方式。

很多意見,但這裏沒有“正確”的方式。

轉載註明原文: 宣布指針;類型和名稱之間的空格左側或右側的星號?

猜你喜歡