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

Что такое логический тип данных 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. Они есть
    • истина: которая расширяется до целочисленной константы 1,
    • false: который расширяется до целочисленной константы 0 и
    • __bool_true_false_are_defined, который расширяется до целочисленной константы 1.
  • 4 Несмотря на положения 7.1.3, программа может отменить определение и, возможно, затем переопределить макросы bool, true и false.

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

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


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

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

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

int main ( void )
{
  bool b = true;

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

  return 0;
}

Другие вопросы по тегам