Что такое булевский тип данных C99 и как его использовать?
Буферный тип данных C99?
Ответ 1
Включить <stdbool.h>
header
#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 предварительной обработки. Oни находятся
- true: расширяется до целочисленной константы 1,
- false: расширяется до целочисленной константы 0 и
- __ bool_true_false_are_defined который расширяется до целочисленной константы 1.
- 4 Несмотря на положения п. 7.1.3, программа может быть неопределенной и, возможно, тогда переопределить макросы bool, true и false.
Ответ 2
Пожалуйста, посмотрите здесь ответ на этот связанный поток, найденный на DaniWeb.
извлечен и указан здесь для удобства: -
использование новых ключевых слов в c99
_Bool: логический тип C99. Использование _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;
}