#define VS const

Signaler
Messages postés
19
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
23 mars 2011
-
Messages postés
19
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
23 mars 2011
-
bjr,
SVP si vous peuvez me aider et me dire la difference entre
#define var_st
et
const var_st
merci

4 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Salut,

D'un point de vue utilisation, les deux sont identiques et ont le meme but : deéfinir une valeur non modifiable.
D'un point de vue compilation, toutes les instance de #define sont remplacées dans le code lors de la generation du binaire.
A l'inverse le const est alloué dynamiquement lors de son utilisation.

Shell
Messages postés
19
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
23 mars 2011

merci DeAtHCrAsH
mais j'ai pas bien comprit svp si possible de me explice de plus
merci
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Lorsque tu programme tu écrit des lignes de codes, ensuite le compilateur prend ces lignes et les transforme en code binaire pour créer un executables.

Les #define sont comme des macros, c'est a dire que tout les endroit dans ton code ou le define est utilisé seront remplacé par la valeur du define au moment de la compilation.

Exemple :

#define MY_DEF 10
...
if(myInt == MY_DEF) {...}

A la compilation, le compilateur va supprimer la declaration du #define et transformer le code comme suit :

if(myInt == 10) {...}


A l'inverse le CONST ne sera jamais remplacé durant la compilation.
Il sera alloué lors du lancement de ton programme deja compilé.


Shell
Messages postés
19
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
23 mars 2011

merci DeAtHCrAsH