我知道指针适用于地址,而不适用于数据本身。这就是为什么我需要使用下面的地址(&)运算符,因为我需要将num的地址分配给指针,而不是num(40)的实际值。
int num = 40;
int *numPtr = #
因此,我对为什么可以这样做感到困惑。
NSString *str = @"hello";
我创建了一个指针str,但没有给它一个地址,而是给它分配了一些数据,即文字字符串。
我以为指针只能容纳内存地址,所以为什么我可以直接为其分配一些数据?
对于试图绕过指针和对象的人来说,这非常令人困惑。
在Objective-c中将@放在字符串文字之前(当您需要NSString而不是C字符串时)是有原因的
@"String"
基本上等同于[NSString stringWithCString:"string"]
返回指向包含值“ string”的NSString对象的指针
1
ac类型整数是相同的方法,但是@1
NSNumber是表示值1的NSNumber。如果看到@,则表示“这是创建对象的简写”。(对于NSArrays,@ [];对于NSDictionarys,@ {};对于NSNumbers,@(),@ 123,@ YES,@ NO;对于NSString,@“”)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句