2010-12-21 115 views
0

当上的OBJ-C读取各种文本或代码示例我看到指针声明这样的:指针声明

NSString *myStringPtr 

但有时我看到,

NSString * myStringPtr 

那里有一个空间名称和*之间。

这些声明之间是否有区别,或者它们都只是指向NSString类型对象的指针,还是我缺少某些东西?

一般来说,*和名字之间必须有空格吗?

我甚至见过 的NSString * myStringPtr

这是比上面的语句有什么不同?

我意识到(NSString *)方法返回类型或参数意味着该方法正在返回(或正在传递)一个指向NSString对象的指针。

回答

1

不,星号可以附加到名称或类型,或者在两者之间(以空格填充)。没什么区别。然而,Objective-C中最常见的使用指针的风格

NSString *myStr; 

而不是

NSString * myStr; 

NSString* myStr; 

放置并有所作为,如果你声明多个变量一条线。例如,这

int* a, b; 

在功能上等同的:

int *a; 
int b; /* Note: This is not a pointer! */ 

(注:这也适用于C,因为这在技术上是一个C语法问题,而不是具体到Objective-C。 )

+0

太棒了!得到它了。谢谢。 – 2010-12-21 20:17:24