Re: [const] #define vs const
Citation:
Envoyé par Mokhtar BEN MESSAOUD
quelle est l adifference pour la delaration des constantes chaines de caracteres entre
Code:
#define CHAINE "bonjour"
Pour le moment, ça ne définit qu'une substitution de caractères. Tant qu'on utilise pas la macro, aucune mémoire n'est réservé, aucun objet n'est crée...
Citation:
et
Code:
const char chaine [] = "bonjour"
Un espace mémoire non modifiable et initialisé est crée. C'est une tableau de type char. Il peut être de portée locale ou statique. Il peut être persistant ou non. La taille de l'objet crée est 'sizeof chaine' bytes. Il dispose d'une adresse.
Citation:
en terme d'utilisation memoire ?
de meme pour les constantes numerique
Pour le moment, ça ne définit qu'une substitution de caractères. La valeur numérique équivallente est une expression constante. Elle n'a n'a pas d'adresse et n'occupe aucune place en mémoire. On parle aussi de 'valeur immédiate'.
Citation:
et
Code:
const int valeur = 10
Un espace mémoire non modifiable et initialisé est crée. C'est un objet de type int Il peut être de portée locale ou statique. Il peut être persistant ou non. La taille de l'objet crée est 'sizeof valeur' bytes. Il dispose d'une adresse. Ce n'est pas une expression constante.