2010-12-02 42 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,这个间距表明星号只是在名字出现的时候才真正绑定到名字上。