[整理]标准C中的"布尔"类型 您所在的位置:网站首页 c语言boolean头文件 [整理]标准C中的"布尔"类型

[整理]标准C中的"布尔"类型

2024-07-03 02:05| 来源: 网络整理| 查看: 265

C语言提供的基本数据类型:char , int ,float, double。

为什么没有其他语言中常见bool布尔数据类型呢?

1.在标准C语言(ANSI C)中并没有bool数据类型

   标准C中,表达式的值0为假,非0为真。一般,为了提高代码可阅读性,自定义3个int类型的宏:

#include #define bool int #define false 0 #define true 1 int main(){ bool result = true;//true的值实际是int类型的1 }

当然,使用char类型来定义宏也是可以的。

 

2.C语言不是没有布尔类型, 而是在C99标准之前没有   现在,在C99中,通过在源文件中包含stdbool.h这个头文件,就可以在C语言里使用_Bool类型了,这是C99标准新增的头文件,引入_Bool数据类型,和C++兼容。

1 #define bool _Bool 2 #define true 1 3 #define false 0

注意:VS2010的编译器只支持ANSI C,不支持C99。

3.我们必须知道的:  (1).一般提到标准C,指的是“ANSI C”,有时称为"C89"。  (2).ANSI C和ISO C的历史

C 的第一个标准是由ANSI发布的。虽然这份文档后来被国际标准化组织(ISO)采纳并且ISO发布的修订版也被ANSI采纳了,但名称ANSI C(而不是 ISO C)仍被广泛使用。一些软件开发者使用ISO C,还有一些使用 Standard C。

 

C891983年,美国国家标准协会组成了一个委员会,X3J11,为了创立 C 的一套标准。经过漫长而艰苦的过程,该标准于1989年完成,并在作为ANSI X3.159-1989"Programming Language C"正式生效。这个版本的语言经常被称作"ANSI C",或有时称为"C89"(为了区别C99)。

C90在1990年,ANSI C标准(带有一些小改动)被美国国家标准协会采纳为ISO/IEC 9899:1990。这个版本有时候称为C90。因此,C89和C90通常指同一种语言。

C99主条目:C99在2000年三月,ANSI 采纳了 ISO/IEC 9899:1999 标准。这个标准通常指C99。

C11主条目:C11在2011年12月,ANSI 采纳了 ISO/IEC 9899:2011 标准。这个标准通常即C11,它是C程序语言的现行标准

 

参考:1.ANSI C

2.C99

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有