Objective-C中指针指向的地址和指针所在的地址

2019-01-20  本文已影响7人  传说中的汽水枪

看代码:

- (void)test
{
    NSObject *obj = [NSObject new];
    NSLog(@"指针指向的地址:%p", obj);
    NSLog(@"指针所在的地址:%p", &obj);
    NSLog(@"指针所在的地址:%x", (unsigned int)&obj);
    NSLog(@"obj end");
    
    NSObject *obj2 = self;
    NSLog(@"指针指向的地址:%p", self);
    NSLog(@"指针指向的地址:%p", obj2);
    NSLog(@"指针所在的地址:%p", &obj2);
    NSLog(@"指针所在的地址:%x", (unsigned int)&obj2);
    NSLog(@"obj2 end");
    
    int a = 10;
    NSLog(@"指针所在的地址:%p", &a);
}

输出结果:

指针指向的地址:0x60000001d3d0
指针所在的地址:0x7ffee798c768
指针所在的地址:e798c768
obj end
指针指向的地址:0x60000001d370
指针指向的地址:0x60000001d370
指针所在的地址:0x7ffee798c760
指针所在的地址:e798c760
obj2 end
指针所在的地址:0x7ffee798c75c

从几个指针所在的地址也可以验证:

上一篇 下一篇

猜你喜欢

热点阅读