正文
object-c中的BOOL类型
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
object-c中的布尔类型比C语言中的bool类型早了10年,它具有YES和NO两种值。在object-c中的布尔类型BOOL实际上是一种带符号的字符类型(signed char),它使用的空间是1byte,即8bit,其中YES定义为1,NO定义为0。将大于1字节的整形数(比如short或者int)赋给BOOL变量,会被截断处理,只保留末尾的8个bit。
以下是object-c中使用BOOL类型的例子:
#import <Foundation/Foundation.h>
//比较两个int数是否一样
BOOL areINTsDifferent(int thing1,int thing2){
if(thing1==thing2)
return NO;
else
return YES;
}
//返回BOOL类型的数对应的NSString字符串
NSString * boolString(BOOL yesNo){
if(yesNo==YES)
return @"YES";
else
return @"NO";}
int main(int argc, const char * argv[]) {
BOOL areTheyDifferent ;
areTheyDifferent= areINTsDifferent(,);
//下面的%@表示NSString占位符
NSLog(@"are %d and %d different? %@",,,boolString(areTheyDifferent));
areTheyDifferent = areINTsDifferent(,);
NSLog(@"are %d and %d different? %@",,,boolString(areTheyDifferent));
return ;
}
输出的结果:
2016-04-04 23:18:48.964 hello-obj[1267:84194] are 6 and 6 different? NO
2016-04-04 23:18:48.965 hello-obj[1267:84194] are 23 and 42 different? YES