Was ist der boolesche C99-Datentyp und wie wird er verwendet?
C99 boolescher Datentyp?
Prasun Saurav
Enthalten <stdbool.h>
Header
#include <stdbool.h>
int main(void){
bool b = false;
}
Makros true
und false
erweitern zu 1
und 0
beziehungsweise.
Abschnitt 7.16
Boolescher Typ und Werte < stdbool.h >
- 1 Die Kopfzeile
<stdbool.h>
definiert vier Makros.- 2 Das Makro
- bool wird zu _Bool erweitert.
- 3 Die verbleibenden drei Makros eignen sich zur Verwendung in #if-Vorverarbeitungsdirektiven. Sie sind
- true : was zur ganzzahligen Konstante 1 erweitert wird,
- false: was zur ganzzahligen Konstante 0 erweitert wird, und
- __bool_true_false_are_defined, die zur ganzzahligen Konstante 1 erweitert wird.
- 4 Ungeachtet der Bestimmungen von 7.1.3 kann ein Programm die Makros bool, true und false aufheben und vielleicht dann neu definieren.
-
Es sollte auch beachtet werden, dass die Konvertierung in
_Bool
(durch Zuweisung, Umwandlung usw.) erfolgt effektiv durch Präfixieren des Ausdrucks mit!!
.– R.. GitHub HÖR AUF, EIS ZU HELFEN
22. Januar 2011 um 13:12 Uhr
Evandrix
Bitte lesen Sie die Antwort hier in diesem verwandten Thread, der auf gefunden wurde DaniWeb.
extrahiert und hier zum bequemen Nachschlagen zitiert:-
Verwendung neuer Schlüsselwörter in c99
_Bool: Der boolesche Typ von C99. Die direkte Verwendung von _Bool wird nur empfohlen, wenn Sie älteren Code pflegen, der bereits Makros für bool, true oder false definiert. Ansonsten sind diese Makros in der standardisiert
<stdbool.h>
Header. Fügen Sie diesen Header hinzu und Sie können bool genau 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;
}
-
+1 zur Erklärung des Grundes
_Bool
besteht zusammen mitbool
. Sehr hilfreich um es zu verstehen.– Äonil
17. November 2014 um 23:15 Uhr