A propos des char

pinto_armindo Messages postés 1 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 26 novembre 2007 - 26 nov. 2007 à 17:56
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 26 nov. 2007 à 19:05
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 nov. 2007 à 18:10
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++
0
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
26 nov. 2007 à 18:49
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 nov. 2007 à 19:05
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++
0
Rejoignez-nous