#define
est une directive préprocesseur héritée de C qui prend la forme
#define identifier value
En général, il est utilisé pour indiquer au préprocesseur de remplacer toutes les instances de identifier
dans le code avec le texte donné avant de le transmettre au compilateur. Les identificateurs peuvent également être définis sans valeurs à utiliser comme indicateurs de compilation pour empêcher la définition multiple des mêmes variables ou pour se connecter aux détails de la machine qui ne changeront pas pendant l'exécution. Par exemple, pour passer un code différent au compilateur basé sur l'architecture de votre processeur, vous pouvez faire quelque chose comme:
#ifdef INTEL86
//some 32-bit code
#else
//some 64-bit code
#endif
Lors de l'attribution des valeurs dans ces définitions, il est souvent une bonne idée d'entourer la valeur avec des parenthèses afin de le conserver comme une seule unité, quel que soit le contexte, il existe dans
Par exemple, #define FOO 3 + 7
a un autre résultat que #define FOO (3 + 7)
sur le résultat de la ligne suivante, en raison de l'ordre des opérations arithmétiques.
a = 3 * FOO
Voir this link pour plus de détails sur les directives de préprocesseur en général ou this link pour des informations plus ciblée sur l'objectif C.
C'est le préprocesseur qui effectue la substitution. Le compilateur ne verra aucun #defines. – codaddict
Yep remontent quand (peut-être encore aujourd'hui) le prétraitement a été fait par un outil indépendant séparé. – seand
merci pour toute la réponse. et je veux demander quel est le type de données de ces 3 éléments? – Questions