调用完block代码块之后 声明的变量地址发生了变化
int main(int argc, const char * argv[]) {
@autoreleasepool {
__block int m = 10;
NSLog(@"block之前:m = %d,addr = %p",m,&m);
void (^myblock)()=^{
m = 1000;
NSLog(@"in block,m = %d,addr = %p",m,&m);
};
myblock();
m = 20;
NSLog(@"block之后:m = %d,addr = %p",m,&m);
}
return 0;
}
|
|