黑马程序员技术交流社区

标题: block [打印本页]

作者: clinging    时间: 2016-4-6 15:17
标题: block
__block int m = 11;

NSLog(@"1:m = %p",&m);

void (^myBlock)()=^{

        NSLog(@"2:m = %p",&m);
        //可以访问m的值
          int m = 22;
        NSLog(@"3:in block m = %d",m);
};
myBlock();

NSLog(@"4:m addr = %p",&m);
}
这个四个地方分别访问的是堆区的地址还是栈区的地址
作者: UKnowINeedYou    时间: 2016-4-7 13:25
1:栈区(block外面)    2:堆区(把m不以const的方式拷贝到了block,block在堆区)   3:栈区(重新定义了局部变量m,局部变量在栈区)  4:堆区(在调用block之后)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2