2010-12-02 39 views
5

出於好奇;爲什麼是約定在C語言中的指針是這樣的:公約指針*

NSString *str = ...

不會是更合適寫:

NSString* str = ...

,因爲我們定義指針的NSString? (在Objective-C方法中,我們有(NSString *)parameter1約定)

再次 - 我要求出於好奇心,並能夠更好地理解背後的邏輯......我並不試圖重塑輪子或開始火焰戰爭。

+0

在聖經(k&r)中,他們堅持按照慣例,儘管指針類型是一種類型。 – matcheek 2010-12-02 21:00:09

回答

21

如果你在一個聲明中聲明多個指針變量,你必須寫

char *a, *b; 

自申報

char* a, b; 

將宣佈a作爲一個字符指針,但b作爲一個普通的字符。 IOW,這個間距表明星號只是在名字出現的時候才真正綁定到名字上。