Quel est le type de données booléen C99 et comment l'utiliser?
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.
Veuillez vérifier la réponse ici sur ce fil de discussion trouvé sur DaniWeb .
extrait et cité ici pour référence commode: -
_ 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;
}