【发布时间】:2015-09-13 06:59:29
【问题描述】:
我正在尝试将地址打印到字符串,但我在第一个 NSLog 中得到不同的地址,在第二个 NSLog 中得到相同的地址。那么你能告诉我这是怎么回事吗?它真的让我很困惑。非常感谢您的努力。
NSString *str1 = [[NSString alloc] init];
NSString *str2 = [[NSString alloc] init];
NSString *str3 = [[NSString alloc] init];
NSLog(@"str1 = %p , str2 = %p, str3 = %p",&str1,&str2,&str3);
NSLog(@"str1 = %p , str2 = %p, str3 = %p",str1,str2,str3);
输出
str1 = 0x7fff565b9c88 , str2 = 0x7fff565b9c80, str3 = 0x7fff565b9c78
str1 = 0x10c0a7060 , str2 = 0x10c0a7060, str3 = 0x10c0a7060
我不明白为什么str1、str2 和str3 都指向同一个内存位置。
【问题讨论】:
标签: objective-c