数组存储指向对象的地址

数组存储指向对象的地址,当被存储的指针变量指向的地址改变时,数组中存储的地址并不改变。

#import 

int main(int argc, const char * argv[]) {
    @autoreleasepool {
       
        NSArray *array = [NSArray array];
        NSString *a = @"is a";
        
        array = @[a];
        
        NSLog(@"改变前a的地址%p", a);
        NSLog(@"改变前数组中a的地址%p", array.firstObject);
        
        a = @"is change";
        NSLog(@"改变后a的地址%p", a);
        NSLog(@"改变后数组中a的地址:%p", array.firstObject);
        
    }
    return 0;
}
数组存储指向对象的地址_第1张图片
屏幕快照 2017-09-17 下午4.44.22.png

你可能感兴趣的:(数组存储指向对象的地址)