C语言中有bool类型吗?

之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数中定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)中编译居然报错了,说是bool类型没有定义。用了这么久的C和C++了,一直觉得bool这种基本类型,应该是C语言内置的类型,怎么会没有定义呢?事实证明,我的想法完全错误了。

有了网络,一切问题都变得那么容易了,我很容易地搜到了相关的解答

C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的。bool类型有只有两个值:true =1 、false=0。

但是,C99标准里面,又定义了bool类型变量。这时,只要引入头文件 <stdbool.h>,就能在C语言里面正常使用bool类型。这点我在Fedora9下验证过了,它自带的编译器是 gcc 4.3.0,符合C99标准。但是在VC6.0中,会报找不到头文件 stdbool.h 的错误,看来VC6.0确实比较老了。

所以,为了兼容各种编译器,还是自己定义吧。^_^

#define bool char
            #define ture 1
            #define false 0

http://www.cnblogs.com/roucheng/p/css3menu.html

http://roucheng.cnblogs.com/

时间: 2024-10-28 19:28:55

C语言中有bool类型吗?的相关文章

关于C语言中有string类型吗?

一.问题来源 今天在VS2010平台上,尝试采用scanf() string word; scanf("%s",&word); 然后发现错误,输出采用 printf("%s\t",word); 发现也不行,然后转换成cin和cout就OK,于是怀疑是不是%s出了问题,果然是这样. 因为在C中的字符串是存储在char数组中,是一个基本类型的组合,但是string则是C++中的封装好的类. 所以输出可以采用 printf("%s\t",wor

bool和BOOL类型知识集合

知识点一.C语言中有bool类型吗? 转自http://blog.csdn.net/liuqiqi677/article/details/6703615 之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数中定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)中编译居然报错了,说是bool类型没有定义.用了这么久的C和C++了,一直觉得bool这种基本类型,应该是C语言内置的类型,怎么会没有定义呢?事实证明,我的想法完全错误了. 有了网络,一切问题都变得那么容易了

JSON 的数据类型 以及传递bool类型数据的处理方式

ajax中使用json传递数据时,其它数据类型都不是问题,但是如果服务器端生成的JSON中有bool类型的数据时,到客户端解析时出现了小小的问题,总结如下: 服务器返回的JSON为: 代码如下: {"TypeID":[1037],"Title":"河北软件职业技术学院","Intro":"","IsLink":"false","LinkUrl":&

c语言中有自己的bool类型

有人说c语言中没有bool类型,只有c++中有,果真如此? 先看没有bool类型时,c中表示bool类型的方法: 1. typedef int bool; #define false 0 #define true 1 2. typedef int bool; enum { false, true }; 3. typedef enum { false, true }bool; 简单实例如下: #include <stdio.h> //1 //typedef int bool; //#define

一起talk C栗子吧(第一百六十八回:C语言实例--C语言中的布尔--bool类型)

各位看官们,大家好,上一回中咱们说的是控制终端字符颜色的例子,这一回咱们说的例子是:C语言中的布尔–bool类型 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,在数字电路中我们经常会遇到布尔类型,其实在编写软件的过程中也会使用布尔类型.布尔类型的变量只有两种值:真和假.在实际的编程过程中,我们经常定义宏,然后使用1表示真,0表示假.下面是具体的例子: #define TRUE 1 #define FALSE 0 例子中定义了两个宏,一个是TRUE,它的值是1,表示真:另外一个是F

Dart语言学习( 五) Dart Bool类型

Dart Bool类型和其他语言类似,比较简单 其特点有: 1.使用 bool 表示布尔类型 2.布尔值只有 true 和 false 3.布尔类型bool默认值是null bool isTrue = true; bool isFalse = false; bool defaultBool ; print(isTrue); print(isFalse); print(defaultBool); print("Hello".isEmpty); 输出如下: true false null

go语言基础之基础数据类型 bool类型

1.bool类型 示例1: package main import "fmt" func main() { var a bool a = true fmt.Println("a = ", a) } #执行结果 a = true 示例2: package main import "fmt" func main() { var b = false fmt.Println("b = ", b) } #执行结果 b = false 示

黑马程序员----OC中含有BOOL类型

一.BOOL类型 OC中有布尔类型 BOOL(C语言中没有布尔类型) 二.BOOL类型的本质 typedef signed char BOOL; 三.BOOL类型的取值范围 BOOL类型的变量又2种取值:YES .NO #define YES (BOOL)1 #define NO (BOOL)0 四.代码练习: 运行结果:

通过C学Python(1)关于语言、数值类型和变量

强类型语言,不可能出现"程序执行出错后仍可继续执行,并且该错误导致的问题使后续执行可能出现任意行为"这类错误,这类错误的例子,如C里的缓冲区溢出.Jump到错误地址. 弱类型语言,类型检查更不严格,如偏向于容忍隐式类型转换.例如C语言中int类型和double类型的隐式转换.(个人认为int型和指针型的自由转换,以及union中的一个int对4个char更能说明问题) 静态类型语言,在编译时就拒绝类型错误导致的问题 动态类型语言,在运行时才报出类型错误 C语言是弱类型.静态类型 pyt