iOS指针

OC中的内存地址:
一:指针变量自己所在的内存地址(指针变量也是变量,也有内存地址)
二:指针变量所指向的内容的内存地址

    NSString *a = @"test";
    NSString *b = @"test";
//打印对象的内存地址
    NSLog(@"%p----%p",a,b);
打印结果:
0x10c16d930----0x10c16d930
 //打印指针自己的内存地址
    NSLog(@"%p----%p",&a,&b);
打印结果:
0x7ffee3ad89d8----0x7ffee3ad89d0

上述代码中 a 是指针变量,变量就有内存地址。&a相当于取址运算,&a 是指针变量a的内存地址。
NSLog(@"%p----%p",a,b);打印的是指针变量 a 指向的内容“test”所在的内存地址。又因字符串存储在字符常量区,相同的字符串不会重新分配内存,故a和b所指向的内容的内存地址相同。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 1,807评论 3 42
  • 第十章 指针 1. 地址指针的基本概念: 在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为...
    坚持到底v2阅读 310评论 2 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 5,054评论 1 18
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 1,783评论 0 4
  • 在上心理学研究生课程和心理咨询师认证的时候,老师都说作为心理咨询师,很重要的的一点是要给求助者“无条件积极关注”,...
    贺华文PCC教练阅读 206评论 0 3