Type booléen en C [Résolu/Fermé]

Signaler
-
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
-
Bonjour,
j'aimerais déclarer un tableau de type booléen en C, puis je faire ceci:

bool tab[10]; ?

Je demande car visiblement gcc n'apprécie pas...

merci.

7 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 702
En C (iso C99), tu as le type _Bool défini dans stdbool.h
Mais le type bool fait parti du C++.

Cdlt,
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

donc en incluant cette bibliotheque je peux mettre par exemple: _bool tab[10] ?

j'ai essayé et gcc n'aime tjs pas :-)
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 702 > bernard
J'ai pas mis _bool mais _Bool.
De plus, il faut mettre les bonnes options quand on compile pour dire qu'on est en ISO C99.

Cdlt,
>
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016

je vois, mais on peut définir nous même un type bool non? par exemple:

struct bool {
int TRUE=1;
int FALSE=0;
}

qu'en dis tu?
Messages postés
313
Date d'inscription
dimanche 20 septembre 2009
Statut
Membre
Dernière intervention
28 mars 2015
14
L'enumeration en question :

typedef enum bool bool;

enum bool
{
TRUE = 1, FALSE = 0
};

Les defines

#define bool char
#define TRUE 1
#define FALSE 0


Tu n'as plus qu'a situer tes defines ou ton énumération dans la bibliothèque stdio.h.

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 702
Qu'en dis-tu ?
Que je ne vois pas l'intérêt de recréer un type bool alors qu'il existe déjà en ISO C99.

Si néanmoins tu souhaites le recréer (ou que tu utilises l'ISO C89/90), tu peux mettre :
#define BOOL int
#define TRUE 1
#define FALSE 0

Cdlt,
Messages postés
313
Date d'inscription
dimanche 20 septembre 2009
Statut
Membre
Dernière intervention
28 mars 2015
14
Il n'y a pas de type bool en C.
non ben finalement je vais prendre celui de la norme C99, quelle est l'option de gcc à inclure pour compiler s'il te plait?
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
50
Je vois pas l'interet de vouloir a tout pris utiliser un type bool :
int vrai = 1;
if(vrai)
{
    printf("vrai de vrai\n");
}
else if(!vrai)
{
     printf("faux\n");
}


++
ben disons qu'on me demande de définir une structure avec dedans 2 tableaux, un tableau d'entiers et un tableau de booléens et ensuite je vais devoir mettre toutes les cases du tableau booléen à 0, pour ça que je demandais comment définir un tableau de type booléen...
Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
2 994
moi j'aurai utilise un unsigned char pour rester au plus proche de ce qui existe en C++
Messages postés
466
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
17 octobre 2011
50
Fais une enumération !
Mais c'est peut être pour t'expliquer que c'est un booleen !