首页 > 代码库 > Objective-C中的BOOL和bool

Objective-C中的BOOL和bool

    BOOL t3=1024;

    if (t3) {
        NSLog(@"yes");
    }else{
        NSLog(@"no");
    }

输出:

Test[1524:60b] no

 

typedef signed char BOOL;

BOOL 使用了一个8 位(一个字节)的整数进行表示,低八位8 位全0 就是NO。所以非0数并非就是BOOL中的YES,但是0就一定是NO;建议BOOL就只使用YES和NO;

 

再来看看bool;

 

    bool t3=1024;

    if (t3) {
        NSLog(@"yes");
    }else{
        NSLog(@"no");
    }

输出:

Test[1592:60b] yes

bool定义为int,因为C语言中的假值就只有一个0,所以t3为非0值输出为yes;