web-dev-qa-db-fra.com

Type de données booléen C99?

Quel est le type de données booléen C99 et comment l'utiliser?

88
Eonil

Comprendre <stdbool.h> en-tête

#include <stdbool.h>

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

Les macros true et false se développent à 1 et 0 respectivement.

Section 7.16 Type et valeurs booléens < stdbool.h >

  • 1 L'en-tête <stdbool.h> définit quatre macros.
  • 2 La macro
    • bool s'étend à _Bool.
  • 3 Les trois macros restantes peuvent être utilisées dans les directives de pré-traitement. Elles sont
    • true: qui se développe à la constante entière 1,
    • false: qui s'étend à la constante entière 0, et
    • __bool_true_false_are_defined qui se développe à la constante d’entier 1.
  • 4 Nonobstant les dispositions du 7.1.3, un programme peut indéfinir et peut-être ensuite redéfinir les macros bool, true et false.
106
Prasoon Saurav

Veuillez vérifier la réponse ici sur ce fil de discussion trouvé sur DaniWeb .

extrait et cité ici pour référence commode: -


utilisation de nouveaux mots-clés dans c99

_ Bool : type booléen de C99. L'utilisation directe de _Bool n'est recommandée que si vous conservez du code hérité qui définit déjà des macros pour bool, true ou false. Sinon, ces macros sont normalisées dans le <stdbool.h> entête. Incluez cet en-tête et vous pouvez utiliser bool comme vous le feriez en C++.

#include <stdio.h>
#include <stdbool.h>

int main ( void )
{
  bool b = true;

  if ( b )
    printf ( "Yes\n" );
  else
    printf ( "No\n" );

  return 0;
}

46
evandrix