Tipo di dati booleani C99?

Qual è il tipo di dati booleani C99 e come utilizzarlo?

Include l’intestazione

 #include  int main(void){ bool b = false; } 

Le macro true e false espandono rispettivamente a 1 e 0 .

Sezione 7.16 Tipo booleano e valori < stdbool.h >

  • 1 L’intestazione definisce quattro macro.
  • 2 La macro
    • bool si espande in _Bool.
  • 3 I restanti tre macro sono adatti per l’uso nelle direttive di preelaborazione #if. Loro sono
    • true: che si espande alla costante intera 1,
    • false: che si espande alla costante intera 0, e
    • __bool_true_false_are_defined che si espande alla costante intera 1.
  • 4 Nonostante le disposizioni di 7.1.3, un programma può indefinire e forse poi ridefinire i macro bool, true e false.

Si prega di controllare la risposta qui su questo thread relativo trovato su DaniWeb .

estratto e citato qui per riferimento conveniente: –


utilizzo di nuove parole chiave nel c99

_Bool : il tipo booleano di C99. L’uso di _Bool direttamente è consigliato solo se si sta mantenendo un codice legacy che già definisce macro per bool, true o false. Altrimenti, quelle macro sono standardizzate nell’intestazione . Includere quell’intestazione e puoi usare bool proprio come faresti in C ++.

 #include  #include  int main ( void ) { bool b = true; if ( b ) printf ( "Yes\n" ); else printf ( "No\n" ); return 0; }