Jaki jest logiczny typ danych C99 i jak go używać?
93
Dołącz <stdbool.h>
nagłówek
#include <stdbool.h>
int main(void){
bool b = false;
}
Makra true
i false
rozwiń odpowiednio do 1
i 0
.
Sekcja 7.16
Typ i wartości logiczne< stdbool.h >
- 1 Nagłówek
<stdbool.h>
definiuje cztery makra.- 2 Makro
- bool rozwija się do _Bool.
- 3 Pozostałe trzy makra są odpowiednie do użycia w dyrektywach #if preprocessingu. Oni są
- prawda: która rozwija się do stałej liczby całkowitej 1,
- false: co jest interpretowane jako stała całkowita 0, i
- __bool_true_false_are_defined, która rozwija się do stałej liczby całkowitej 1.
- 4 Niezależnie od postanowień punktu 7.1.3, program może cofnąć, a być może później, ponownie zdefiniować makra bool, true i false.
_Bool
(przez przypisanie, rzutowanie itp.) Jest efektywna przez poprzedzanie wyrażenia przedrostkiem!!
.Proszę sprawdzić odpowiedź tutaj w tym powiązanym wątku znalezionym na DaniWeb .
wyodrębniono i zacytowano tutaj dla wygodnego odniesienia: -
użycie nowych słów kluczowych w c99
#include <stdio.h> #include <stdbool.h> int main ( void ) { bool b = true; if ( b ) printf ( "Yes\n" ); else printf ( "No\n" ); return 0; }
źródło
_Bool
istnieje wraz zbool
. Bardzo pomocne, aby to zrozumieć.