С99 тип данных boolean?

Что такое логический тип данных C99 и как его использовать?

2 ответов


включить <stdbool.h> заголовок

#include <stdbool.h>

int main(void){
  bool b = false;
}

макрос true и false расширить до 1 и 0 соответственно.

раздел 7.16 логический тип и значения < stdbool.h >

  • 1 заголовок <stdbool.h> определяет четыре макросов.
  • 2 макроса
    • bool расширяется _Bool.
  • 3 остальные три макроса подходит для использования в директивах # if preprocessing. Они являются
    • true: который расширяется до целочисленной константы 1,
    • false: который расширяется до целочисленной константы 0 и
    • _ _ bool _ true _ false _ определены который расширяется до целочисленной константы 1.
  • 4 Несмотря на положения пункта 7.1.3, программа может быть не определена и, возможно, тогда переопределите макросы bool, true и false.

пожалуйста, проверьте ответ здесь на этот связанный поток, найденный на DaniWeb.

извлечено и процитировано здесь для удобной ссылки: -


использование новых ключевых слов в c99

_Bool: boolean значение типа С99 по. Используя _Bool напрямую рекомендуется только если вы поддержание устаревшего кода, который уже определяет макросы для bool, true или ложный. В противном случае эти макросы стандартизированный в <stdbool.h> заголовок. Включите этот заголовок и вы может использовать bool так же, как вы С.++

#include <stdio.h>
#include <stdbool.h>

int main ( void )
{
  bool b = true;

  if ( b )
    printf ( "Yes\n" );
  else
    printf ( "No\n" );

  return 0;
}