Antworten:
<stdbool.h>
Header einschließen
#include <stdbool.h>
int main(void){
bool b = false;
}
Makros true
und false
erweitert 1
und 0
jeweils.
Abschnitt 7.16
Boolescher Typ und Werte< stdbool.h >
- 1 Der Header definiert
<stdbool.h>
vier Makros.- 2 Das Makro
- bool wird zu _Bool erweitert.
- 3 Die verbleibenden drei Makros eignen sich zur Verwendung in # if-Vorverarbeitungsanweisungen. Sie sind
- true: wird auf die Ganzzahlkonstante 1 erweitert,
- false: wird auf die Ganzzahlkonstante 0 erweitert, und
- __bool_true_false_are_defined, das auf die Ganzzahlkonstante 1 erweitert wird.
- 4 Ungeachtet der Bestimmungen von 7.1.3 kann ein Programm die Makros bool, true und false unterdefinieren und möglicherweise neu definieren.
Bitte überprüfen Sie die Antwort hier in diesem verwandten Thread auf DaniWeb .
extrahiert und hier als bequeme Referenz zitiert: -
_Bool : Der boolesche Typ von C99. Die direkte Verwendung von _Bool wird nur empfohlen, wenn Sie Legacy-Code verwalten, der bereits Makros für bool, true oder false definiert. Andernfalls werden diese Makros im
<stdbool.h>
Header standardisiert . Wenn Sie diesen Header einschließen, können Sie bool wie in C ++ verwenden.
#include <stdio.h>
#include <stdbool.h>
int main ( void )
{
bool b = true;
if ( b )
printf ( "Yes\n" );
else
printf ( "No\n" );
return 0;
}
_Bool
zusammen mit existiert bool
. Sehr hilfreich, um es zu verstehen.
_Bool
(durch Zuweisung, Besetzung usw.) effektiv durch das Präfixieren des Ausdrucks mit erfolgt!!
.