C语言中实现bool(布尔型变量) | 您所在的位置:网站首页 › c语言定义布尔值 › C语言中实现bool(布尔型变量) |
C语言中,本身没有bool(布尔型变量)。但是我们可以用其他方式来模拟。 一、如果简单的使用char、int、long变量来表示0/1,则太浪费空间了。 二、这里介绍一种巧妙的方式实现bool,高空间利用率。 #define true 1 #define false 0 //--------------------------------------------联合体(共用体) 定义 typedef union { //使用位域 struct { unsigned b0 : 1; unsigned b1 : 1; unsigned b2 : 1; unsigned b3 : 1; unsigned b4 : 1; unsigned b5 : 1; unsigned b6 : 1; unsigned b7 : 1; }bit_type; unsigned char byte; }FLAG; FLAG FLAG0; //结构变量声明 //--------------------------------------------结构类型变量位域宏定义 #define flag_0 FLAG0.bit_type.b0 #define flag_1 FLAG0.bit_type.b1 #define flag_2 FLAG0.bit_type.b2 #define flag_3 FLAG0.bit_type.b3 #define flag_4 FLAG0.bit_type.b4 #define flag_5 FLAG0.bit_type.b5 #define flag_6 FLAG0.bit_type.b6 #define flag_7 FLAG0.bit_type.b7这里使用union(联合体)来实现高空间利用率 |
CopyRight 2018-2019 实验室设备网 版权所有 |