zoukankan      html  css  js  c++  java
  • C——没有bool的C语言?

    bool static my_var_initialized = false;

      偶然写出了这样一句C代码,环境是visual studio 2012,工程是Compile as C的,竟然报了好几个错误:

      错误 1 error C2065: “bool”: 未声明的标识符 g:visualstudio2012consolehellochelloc est.c 12 1 HelloC

      错误 5 error C2065: “true”: 未声明的标识符 g:visualstudio2012consolehellochelloc est.c 17 1 HelloC

      写惯了java C++,突然遇到这个问题就懵了。

      经查证,C99标准以前,C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的,bool类型有只有两个值:true =1 、false=0。C99标准里面定义了bool类型,需要引入头文件stdbool.h,关于这一点在VS2012中是不行的,include之后会报错无法打开源文件stdbool.h,不过有前辈已经在gcc 4.3.0上实验过了,是可行的。

      为了兼容支持各种各样的编译器,可以自定义bool:

      1)

    #define bool char
    #define true 1
    #define false 0

      2)

    enum BOOL
    {
    FALSE, TRUE
    };

  • 相关阅读:
    坚决不再犯的脑残错误
    2018.8.21提高A&省选组模拟考试
    2018.10.9模拟考试
    fread()快读
    2018.10.6模拟考试
    2018.10.4模拟考试
    2018.8.20提高AB组模拟考试
    2018.8.21提高AB组模拟考试
    2018.8.19提高B组模拟考试
    2018.8.18提高B组模拟试题
  • 原文地址:https://www.cnblogs.com/crazyrunning/p/3480963.html
Copyright © 2011-2022 走看看