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