根据我的理解(如果我错了,请纠正我):
int x, count = 10;
int *hello;
hello = &count;
x = *hello;
这里变量x和count声明为整数类型。此外,变量计数的值为10。
hello是一个指向整数类型的指针。然后为hello分配计数地址。为了访问count的值,你好前面必须有一个星号,即* hello。
因此,x被赋予计数中的任何值,在本例中为10。
然而...
Fraction *myFraction = [[Fraction alloc] init];
[myFraction someMethod];
在这里,如果我理解正确,myFraction是一个指向Fraction类实例的指针。
myFraction指向(或者更确定地指定了地址)已分配内存并初始化的对象。
当然,为了访问myFraction指向的对象,我应该写:
[*myFraction someMethod];
鉴于x访问count的值的方式,当然为了访问该对象,应该写这个而不是:
[myFraction someMethod];
另外,如果我有
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *str = @"Programming can be a headache";
NSLog (@"%@\n", str);
为什么str被视为上面的一个对象?或者是str一个对象,在这种情况下,为什么我要让它指向一个NSString类的实例?当然,我应该能够只为str分配一个对象?
目标c中对象的所有使用都是通过对象引用来完成的,例如,指针。
str
是NSString
类型的对象引用(如myFraction
),@"Programming can be a headache"
也是NSString
类型的对象引用,因此您可以将它分配给str
。Binyamin的补充
描述
返回表示接收类内容的字符串。