- #import <Foundation/Foundation.h>
- int a,b,c;//静态变量
- int main (int argc, const char * argv[])
- {
- NSLog(@"BOOL type size:%d",sizeof(BOOL));//typedef signed char BOOL
- if(FALSE == 0)//#define FALSE 0
- {
- NSLog(@"FALSE == 0 FALSE is %d",FALSE);
- }
- else
- {
- NSLog(@"FALSE != 0");
- }
- if(TRUE == 1)//#define TRUE 1
- {
- NSLog(@"TRUE == 1 TRUE is %d",TRUE);
- }
- else
- {
- NSLog(@"TRUE !== 1");
- }
- BOOL bool_var;//check BOOL is signed char or not?
- char c = 128;
- bool_var = c;
- NSLog(@"%d",bool_var);
- //测试objc中是否也将0作为真非0作为假。测试结果跟c一样。所以objec中的BOOL类型应该只是定义来作为一个规范。
- int is_bool = -1;
- if(is_bool)
- {
- NSLog(@"非0直都是true");
- }
- //静态变量和自动变量(变量的存储类型)
- int d,e;//自动变量
- NSLog(@"d=%d e=%d a=%d b=%d c=%d",d,e,a,b,c);//输出结果显示,跟c一样,静态变量会自动初始化为0,自动变量的值是一个“随机”数
- //测试变量的作用域代码块作用域
- if(TRUE)
- {
- int mm = 123;
- }
- NSLog(@"mm=%d",mm);//mm定义在子代码块内,外部不能访问。编译这段代码时将提示“mm”undeclared
- return 0;
- }
输出结果:
|
转载于:https://blog.51cto.com/stark/707619