gpt4 book ai didi

ios - 数组的内存地址

转载 作者:可可西里 更新时间:2023-11-01 03:32:22 24 4
gpt4 key购买 nike

请帮帮我。我对这个内存地址感到很困惑。

    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 数组)。

关于ios - 数组的内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20560872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com