OC中的內(nèi)存地址:
一:指針變量自己所在的內(nèi)存地址(指針變量也是變量坟岔,也有內(nèi)存地址)
二:指針變量所指向的內(nèi)容的內(nèi)存地址
NSString *a = @"test";
NSString *b = @"test";
//打印對(duì)象的內(nèi)存地址
NSLog(@"%p----%p",a,b);
打印結(jié)果:
0x10c16d930----0x10c16d930
//打印指針自己的內(nèi)存地址
NSLog(@"%p----%p",&a,&b);
打印結(jié)果:
0x7ffee3ad89d8----0x7ffee3ad89d0
上述代碼中 a 是指針變量御蒲,變量就有內(nèi)存地址纵顾。&a相當(dāng)于取址運(yùn)算敬鬓,&a 是指針變量a的內(nèi)存地址。
NSLog(@"%p----%p",a,b);打印的是指針變量 a 指向的內(nèi)容“test”所在的內(nèi)存地址偏塞。又因字符串存儲(chǔ)在字符常量區(qū)唱蒸,相同的字符串不會(huì)重新分配內(nèi)存,故a和b所指向的內(nèi)容的內(nèi)存地址相同灸叼。