C99 boolescher Datentyp?

Lesezeit: 1 Minute

Was ist der boolesche C99-Datentyp und wie wird er verwendet?

Benutzeravatar von Prasoon Saurav
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

Benutzeravatar von evandrix
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 mit bool. Sehr hilfreich um es zu verstehen.

    – Äonil

    17. November 2014 um 23:15 Uhr


1420520cookie-checkC99 boolescher Datentyp?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy