【发布时间】:2011-04-13 13:19:39
【问题描述】:
最近我开始在Mac上学习objective-c,但我偶然发现了指针的基本用法。到目前为止,我有了使用数字指针的想法:
int x = 1; // initializing main variable x
int *y; // initializing variable y of the int type pointer
y = &x; // passing the reference
*y = *y + 1; // working with a value via passed reference
让我们看看另一个例子,例如 NSString 对象:
NSString *comp; // initializing a pointer of NSString type.
comp = @"Mac"; // ???
问题是,我不明白为什么可以使用不带星号的 comp = @"Mac" 而不是使用 with *comp = @"Mac"?在处理对象指针时它是某种快捷方式吗?如果将相同的语法规则应用于简单数据类型指针和对象类型指针,那将更清楚(对我来说:))。我知道objective-c中几乎所有的对象变量都是指针,但是这样的语法是什么原因呢?
【问题讨论】:
标签: objective-c pointers nsstring