您的位置:首页 > 其它

"未将对象引用设置到对象的实例"异常的原因,

2008-02-17 21:42 519 查看
#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;
}

输出结果:

2011-05-21 14:18:52.474 console[1766:903] BOOL type size:1
2011-05-21 14:18:52.477 console[1766:903] FALSE == 0 FALSE is 0
2011-05-21 14:18:52.477 console[1766:903] TRUE == 1 TRUE is 1
2011-05-21 14:18:52.478 console[1766:903] -128
2011-05-21 14:18:52.478 console[1766:903] 非0直都是true
2011-05-21 14:18:52.479 console[1766:903] d=32767  e=1606416680 a=0 b=0 c=-128

引自:http://www.cnblogs.com/zenPger/archive/2011/05/21/2052734.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: