2010-12-21 205 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