block 和 全局变量
来源:互联网 发布:java获取浏览器地址 编辑:程序博客网 时间:2024/06/05 02:00
<span style="font-size:24px;">//在其他文件定义的全局变量如果想在本文件中使用,则需要在本文件的main函数外部加上关键字extern + (int d),这样就可以使用其他文件中定义的全局变量;//在两个不同的.m文件中同时定义了同一个名称的变量,如果想在各自的文件中使用,互不影响,那么只要把他们在各自的文件中定义成一个静态全局变量就可以了,不然,两个文件(.m)同时编译,会重复,从而出错;int d = 10;//全局变量int main(int argc, const char * argv[]){ @autoreleasepool { //int (^)(int x, int y) block变量的类型 //block-- block变量的名字 /* ^(int x, int y) { return x + y; }; --- block 变量的初值,block用来存储函数,所以给block变量赋值时,赋的是整个函数的实现*/ int (^block)(int x, int y) = ^(int x, int y) { return x + y; }; //当把函数的实现赋给block变量之后,block变量就可以当作函数名来使用 //求和 int sum = block(5, 10); printf("sum = %d\n", sum); //当在block内部使用block外部定义的局部变量时,如果变量没有被__block(两个下划线)修饰,则在block内部是readonly的,不能对他进行修改,如果想修改,变量前必须要加__block //__block的作用告诉编译器,编译时,在block内部不要把外部变量当作常量来使用,还是当作变量使用 //如果在block中访问全局变量,就不需要__block的修饰 //__block int c = 12; int (^block1)(int x, int y) = ^(int x, int y) { d = 12; return x * d; }; //最大值 int maxValue = block1(12,16); printf("maxValue = %d\n", maxValue); int (^block2)(int x, int y) = ^(int x, int y) { return x < y ? x : y; }; //求最小值 int minValue = block2(12,16); printf("minValue = %d\n", minValue); //类型重定义 typedef void (^Block)(); //打印 Block block4 = ^() { printf("vjmhvm"); }; block4(); </span>
0 0
- block 和 全局变量
- Block用法---局部变量和全局变量在Block中的使用
- iOS开发关于block和局部变量和全局变量
- block的用法, 全局变量
- IOS中 Block用法进阶二 局部变量和全局变量在Block中的使用
- 全局变量和静态全局变量
- 静态全局变量和全局变量
- iOS block中的全局变量释放问题
- static 全局变量和普通全局变量
- static 全局变量和普通全局变量
- block,inline和inline-block
- block,inline和inline-block
- block,inline和inline-block
- 全局变量和静态全局变量区别(转载)
- 全局变量和静态全局变量的区别
- 静态全局变量和全局变量的区别
- PHP中全局变量和超全局变量
- 全局变量和静态全局变量的区别
- IOS 基础知识 Foundation-NSString和NSMutableString的使用
- poj1145 括号间的读取与匹配
- 视图的使用
- 网络协议分析--Ethereal网络协议分析及介绍
- STL vector中的end方法(8)
- block 和 全局变量
- 索引-数学
- NSString
- linux中 you have newmail in /var/spool/mail/root是什么意思
- UVA - 10916 Factstone Benchmark
- 素数的筛选
- IOS技术文章摘选
- 输出操作符<< 的重载
- POJ 1631 Bridging signals