iOS双指针

在OC中,单指针,指向对象的内存地址,但我们必须明确一点,指针也是有内存地址的。

//首先创建People类,做如下输出,查看单指针输出的地址:
People * a=[People alloc];
NSLog(@"单指针,输出对象内存地址%@",a);

//如下 首先创建nil指针
People * b=nil;
NSLog(@"调用方法前%@",b);

//双指针需要传指针的内存地址,&b取b得内存地址
[self test:&b];
NSLog(@"取b的内存地址:%p",b);

//创建包含双指针参数的方法
-(void)test:(People **)aPeople
{
   ///取*aPeople得内容
   *aPeople=[[People alloc]init];
   NSLog(@"调用方法中,输出指针的内存地址:%@",*aPeople);
}

运行结果如下图所示:


Snip20170711_1.png

在此为何要解说单指针与双指针的区别呢?因为:单指针通过方法为指针赋值,会出现赋值为空的问题,因为内部会把指针copy一份,所以要想在方法里面为指针赋值,可以使用双指针来解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS面试小贴士 ———————————————回答好下面的足够了------------------------...
    不言不爱阅读 6,440评论 0 7
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 6,120评论 0 12
  • 史上最全的iOS面试题及答案 iOS面试小贴士———————————————回答好下面的足够了----------...
    Style_伟阅读 7,130评论 0 35
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 8,755评论 0 6
  • 以伯夷、叔齐之仁义,不食周粟,而饿死于首阳山。孔子弟子颜回好学却贫疾而夭。“盗贼日杀不辜,肝人之肉,聚党数千人,横...
    木子哲学阅读 4,071评论 0 6

友情链接更多精彩内容