Что такое логический тип данных C99 и как его использовать?
93
Включить <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.
_Bool
(путем присваивания, приведения и т. Д.) Эффективно осуществляется путем добавления к выражению префикса!!
.Пожалуйста, ознакомьтесь с ответом здесь, в этой связанной теме, найденной на DaniWeb .
извлечены и процитированы здесь для удобства: -
использование новых ключевых слов в c99
#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
. Очень полезно это понять.