Что такое логический тип данных 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. Они есть
- истина: который расширяется до целочисленной константы 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
(путем присваивания, приведения и т. Д.) Эффективно осуществляется путем добавления к выражению префикса!!
.