Objective - C基础: 第一天 - 3.BOOL基本认识

前面我们讲解了OC与C的多文件编译, 这次我们来讲解一下BOOL,BOOL类型只有在OC上才有, C语言是没有的, 那么什么是BOOL呢? 下面让我们一起来看看~~


例子:

#import <Foundation/Foundation.h>

int main()
{
    BOOL a1 = YES;
    
    BOOL a2 = NO;

    BOOL a3 = 1;
    
    BOOL a4 = 0;
    
    NSLog(@"a1 = %d    a2 = %d", a1, a2);
    NSLog(@"a3 = %d    a4 = %d", a3, a4);

    return 0;
}

输出的结果:



其实BOOL类型的值只是01,  1YES,0NO, 那么BOOL的本质又是怎么存储的呢?? 让我们来继续看看~


typedef signed char BOOL;

#define YES (BOOL)1
#define NO (BOOL)0


其实BOOLchar类型, 而括号里面的BOOL, 是强行转换, 把YES强行转换为1, 把NO强行转换为0, 但是BOOL的值是当作整型来输出, 所有必须得用%d或者 %i

posted @ 2015-01-12 21:43  背着吉他去流浪  阅读(167)  评论(0编辑  收藏  举报