Що таке булевий тип даних C99 і як ним користуватися?
Відповіді:
Включити <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. Вони є
- true: що розширюється до цілої константи 1,
- false: що розширюється до цілої константи 0, і
- __bool_true_false_are_defined, який розширюється до цілочислової константи 1.
- 4 Незважаючи на положення 7.1.3, програма може визначити і, можливо, потім переосмислити макрос bool, true і false.
Будь ласка, ознайомтеся з відповіддю тут на відповідну тему, знайдену на DaniWeb .
витягнуто та процитовано тут для зручного довідки: -
_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;
}
_Bool
існує поряд з bool
. Дуже корисно це зрозуміти.
_Bool
(за призначенням, приведенням тощо) ефективно здійснюється за допомогою префікса виразу перед!!
.