A propos des char

Signaler
Messages postés
1
Date d'inscription
mardi 11 avril 2006
Statut
Membre
Dernière intervention
26 novembre 2007
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Comment est stocke la variable declarer avec (char) devant :
#define VARIABLE          (char)0x01

Est-ce une chaine de caracteres ou le code ASCII de ce caractere qui est stocke ??

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
1 octet qui vaut 1, voila ce que vaudra ce qui sera affecté de VARIABLE.

En attendant une affectation, il n'y a aucun stockage.

ciao...
BruNews, MVP VC++
Messages postés
280
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
4
salut

il faut voir sur un exemple que quand tu écris

int i = 40*25;

le compilateur fait directement l'opération et dans le programme compilé tu ne trouves que le résultat (1000)

sinon le préprocesseur qui traite ton #define ne traite que des chaines de caractères 
par exemple il traitera de la même façon (char0x01 il ne cherchera pas à voir s'il manque une fermante

c'est donc le compilateur qui trouvera que (char)0x01 c'est un octet qui vaut 1
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
aucune chance que le compilo traite son #define en tant que chaine avec un cast (char), sinon changer illico de compilo.

ciao...
BruNews, MVP VC++