精华内容
下载资源
问答
  • C语言中定义bool类型

    千次阅读 2021-02-08 17:49:38
    C语言里面是没有bool(布尔)类型的,C++里面才,这就是说,在C++里面使用bool类型是没有问题的。bool类型有只有两个值:true =1 、false=0。 不过 C语言中可以自己定义咯 #define bool char #define ture 1 #...

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

    不过 C语言中可以自己定义咯

            #define bool char
            #define ture 1
            #define false 0
    
    展开全文
  • C语言中有bool类型吗?

    万次阅读 多人点赞 2011-08-20 09:30:43
    之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)编译居然报错了,说是bool类型没有定义。用了这么久的C和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

    展开全文
  • C语言中有没有bool类型

    千次阅读 2015-07-01 18:12:29
    一些初学C语言,或者是对C语言不是很精通的朋友肯定觉得很奇怪,为什么在C++,JAVA等语言里使用的bool类型,在C语言里无法使用了呢? 问题解析 bool类型的变量,为0时表示为假,为非0时表示为真。但是原始C
    首先请大家回想一下,在你们所编写的C程序中,是否使用过bool(布尔)类型?bool类型一般用来表示真假,是程序设计中一个很基本的数据类型。但是,C语言里面并不直接支持bool类型。一些初学C语言,或者是对C语言不是很精通的朋友肯定觉得很奇怪,为什么在C++,JAVA等语言里使用的bool类型,在C语言里无法使用了呢? 
    

    问题解析
    bool类型的变量,为0时表示为假,为非0时表示为真。但是原始C语言中并不支持bool类型,若需要使用bool类型可以借用int类型自己定义一下,例如:

    [cpp]
    typedef int bool; 
    #define TRUE 1 
    #define FALSE 0 

    然后就可以在程序中使用bool类型了。用32位的int类型来当bool使用,这样无疑浪费了内存资源,因此对于内存敏感的程序中可以使用char来定义bool类型:


    [cpp] 
    typedef char bool; 
    #define TRUE 1 
    #define FALSE 0 

    进一步讨论
    C语言并非没有bool类型,而是在C99标准之前没有。C99标准中新增的头文件中引入了bool类型,与C++中的bool兼容。该头文件为stdbool.h,其源码如下所示:


    [cpp] 
    #ifndef _STDBOOL_H 
    #define _STDBOOL_H 
     
    #ifndef __cplusplus 
     
    #define bool    _Bool 
    #define true    1 
    #define false   0 
     
    #else /* __cplusplus */ 
     
    /* Supporting <stdbool.h> in C++ is a GCC extension.  */ 
    #define _Bool   bool 
    #define bool    bool 
    #define false   false 
    #define true    true 
     
    #endif /* __cplusplus */ 
     
    /* Signal that all the definitions are present.  */ 
    #define __bool_true_false_are_defined 1#endif /* stdbool.h */ 

    代码中的_Bool是C99标准为bool类型引入的新的关键字,sizeof(_Bool)的值为1,表面其为bool类型。既然为bool类型,那么0表示为假,其他任何值都表示为真,我们可以做一个小实验来测试一下:
    [cpp] 
    bool bb=10; 
    bool aa=0; 
    printf(" %d %d  \n",bb,aa); 

    输出的结果为1和0,这表明bool类型变量赋值为非0值得时候,只存储其值为1。


    最后,当需要使用bool类型时,推荐使用C99标准的bool类型而不是自己去定义,引入头文件<stdbool.h>即可,该头文件位于

    /usr/lib/gcc/i386-redhat-linux/4.1.1/include/stdbool.h(以我自己的Linux系统为例)。

    展开全文
  • C语言中bool类型

    千次阅读 2019-07-08 17:36:38
    之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)编译居然报错了,说是bool类型没有定义。用了这么久的C和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 //宏替换为char类型是因为char与bool都只占一个字节,比较相似
                #define ture 1
                #define false 0

           当然,宏定义的bool与真实的关键字bool还是有差别的。关键字bool修饰的变量,无论赋予其任何非零值,其存储的内容都是“00000001”,而宏定义的bool所修饰的变量,其存储的内容完全取决于我们赋的值。因此,当给宏定义的bool修饰的变量赋值时,老老实实赋予true或false,条件判断时也老老实实与true或false进行比较。
     

    展开全文
  • 今日份知识更新,即《深入理解C语言中类型转换》文章目录:一、隐式转换 1.1.基本类型转换 整形提升 算数转换 1.2.指针转换二、显式转换隐式转换基本类型转换整形提升表达式计算时,整型会首先提升到int类型,当...
  • c语言中bool类型

    千次阅读 2017-09-11 20:50:42
    以前一直在写c++,所以想当然的认为c语言中有bool类型,然而并没有,只是在C99标准引入的新的关键字_Bool 和c++的bool类似,如果在c也想直接使用bool,可以添加stdbool.h头文件参考:...
  • c语言中使用bool_在C语言中使用bool

    千次阅读 2020-07-30 10:50:31
    c语言中使用boolFirst, understand the bool in C++ programming language. In C++ programming, "bool" is a primitive data type and it can be used directly like other data types. "bool" is a Boolean data ...
  • C语言中有bool变量吗?

    万次阅读 2018-08-04 18:44:28
    1.C/C++定义的数据类型:  C语言中定义了6种基本数据类型:short,int,long,float,double,char  4种构造类型:数组,结构体(struct),共用类型(union),枚举类型(enum)  ...
  • 今天早上用C语言写断链表,定义了一个bool类型 发现提示未定义标识符然后去度娘上查了一下发现 C语言没有BOOL类型变量 boolean类型是C++所独有的 下面说说解决办法: 方法一: 更改文件后缀名为cpp 方法二: 采用宏...
  • c语言中有自己的bool类型

    万次阅读 多人点赞 2014-09-03 14:50:30
    人说c语言中没有bool类型,只有c++中有,果真如此?  先看没有bool类型时,c表示bool类型的方法:  1、  typedef int bool; #define false 0 #define true 1 2、  typedef int bool; enum { false, ...
  • C语言中Bool类型

    千次阅读 2015-03-17 15:19:07
    最近在网上看到一些说法说C语言里是没有bool类型的,但是我记得一本书(《C Primer Plus》)里过关于C语言bool类型的介绍,所以就翻了翻书,确定了C语言里的bool类型的确存在。下面介绍一下C语言的bool类型...
  • 关于Linux—C语言中bool类型

    千次阅读 2020-04-14 18:16:37
    关于Linux c语言中的bool数据类型 bool类型属于基本数据类型,其类型名称为bool,值域为非零(true)和零(false)。如果我们不加入其他的头文件bool类型是会报错的。bool类型它包含在头文件 #include ...
  • 标准C语言中使用bool类型

    千次阅读 2016-01-27 15:35:47
    标准C语言中并没有关于bool的定义, 不过bool可以自己定义的 #define bool int #define false 0 #define true 1 这三个宏那么就可以了
  • C语言中原生类型没有bool,C++中有。在C语言中如果需要使用bool类型,可以用int来代替。 很多代码体系,用以下宏定义来定义真和假 #define TRUE 1 #define FALSE 0
  • C语言bool类型

    千次阅读 2021-02-24 14:57:38
    c语言中bool数组的使用方法: 1.导入 首先要导入stdbool.h头文件: #include <stdbool.h> 2.声明 int N = 5; bool flag [N]; 3.初始化 虽然bool类型默认值是0,但是仍要初始化。
  • 我们知道在C++里专门的bool类型,用来表示真或假。但是在C语言里没有这样的类型(至少我是一直这么认为的),表达式的值0为假,非0为真。所以条件判断语句( if(…)、while(…) )非常灵活,甚至一个指针类型都可以是...
  • C语言中bool变量

    2021-08-25 19:59:55
    在一些高级语言当中,为了能够完成更好的逻辑判断,因此就bool类型bool类型的变量值只有true和false两种。 而在C语言中,一般认为0为假,非0为真。 这是因为c99之前,c90是没有bool类型的的。但是c99引入了_...
  • C语言如何才能使用bool类型

    千次阅读 2019-10-08 07:17:35
    解决办法:加上头文件#include<... ,就可以直接使用类型bool = true/false; 1 #include<stdio.h> 2 #include<stdbool.h> 3 4 int main(){ 5 int number,array[1000]; 6 scanf("%d...
  • --------------------------------------------------------------------------------...R给出的关键字:charshortintlongfloatdoubleunsignedC90标准添加的关键字:voidsignedC99标准添加的关键字:_Bool _Complex ...
  • 浅谈C语言中的布尔(bool类型

    万次阅读 多人点赞 2018-11-13 11:46:40
    浅谈C语言中的布尔(bool类型
  • C语言中实现bool(布尔型变量)

    万次阅读 2018-05-23 11:07:02
    C语言中,本身没有bool(布尔型变量)。但是我们可以用其他方式来模拟。一、如果简单的使用char、int、long变量来表示0/1,则太浪费空间了。二、这里介绍一种巧妙的方式实现bool,高空间利用率。#define true 1 #...
  • c语言中自定义bool函数模板

    千次阅读 2020-02-04 16:50:43
    首先,c语言中没有bool函数类型,只有c++中有,所以需要自定义,即c表示bool类型的方法: 1.模板1 typedef int bool; #define false 0 #define true 1 2.模板2 typedef int bool; enum { false, true }; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,486
精华内容 24,594
关键字:

c语言中有bool类型吗

c语言 订阅