[英]Memory address of array
请帮帮我。 我对这个内存地址感到很困惑。
NSMutableArray *arr = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3", nil];
NSLog(@"Address of array = %p",&arr);
NSLog(@"Array's element Address = %p",arr);
NSLog(@"Address 0th element %p",[arr objectAtIndex:0]);
NSLog(@"Address of array =%lx",(long)&arr);
NSLog(@"Array's element Address = %lx",(long)arr);
NSLog(@"Address 0th element %lx",(long)[arr objectAtIndex:0]);
**Output**
Address of array = 0xbfffd804
Array's element Address = 0x866f340
Address 0th element 0x4748
Address of array =bfffd804
Array's element Address = 866f340
Address 0th element 4748
我得到这个输出,但我与第二和第三输出混淆,因为根据我的知识第二和第三输出应该是相同的。 所以请任何人都可以解释我。 提前致谢。
如果这是一个普通的C数组你可能是对的,但你的arr
是一个类的实例,而不是NSMutableArray用来存储其对象的任何数据结构的基地址(也可能不是普通的C数组)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.