# define

Signaler
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012
-
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012
-
Bonjour codeur
qui peut m'expliquer
# define  DO_RECOGNITION,
je que je sais c'est # define N 20 comme exemple pour definir une constante

mais la cela veutdire quoi?
merci d'avance

6 réponses

Messages postés
459
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2013

Bonsoir,
d'après se que j'ai compris de ce que tu n'as pas compris   ^^'



Define sert a définir une macro-subsitution






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





#define
       : définition d'une macro-substitution




Syntaxe: 


<tt>


  #define
symbole<texte><retour/chariot> 
  #definesymbole( <liste_parametres> )<texte><retour/chariot>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 [ [null http://www.lri.fr/~aze/page_c/aide_c/define.html] ]

  J'en revient a ton exemple [ #defineN20 ]
  A chaque fois que tu utilisera N dans ton programme
  il sera remplacer automatiquement par 20

  Avec Define tu n'as pas besoin de déclarer un type
  de variable ( int, char, const char*, bool, long, ... )
  "C'est comme un paramètre"

  Cordialement
              ~~DotWizard512~~
    
   
</tt>
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012

Bonsoir,
merci d'abord pour ta réponse,le lien ne marche pas, je veux bien savoi ce que c'est que une une macro-subsitution?
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
#define DO_RECOGNITION seul sans rien d'autre après?

Alors c'est simple. Voici un exemple pour t'aider à comprendre:

int fonction (int i)
{
#ifdef ADD_I
    i++
#endif

    return i;
}

Si ADD_I est définie (#define ADD_I), i, dans la fonction, sera incrémenté. Sinon, on retourne direct.

Ça sert, dans ce context, à dire au compilateur quel code tenir compte et quel code sauter lors de la compilation. Très utile pour un code portable.

C++ (@++)<!--
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

Pour résumer :

Les macros sont traités par le préprocesseur (il fait sorte de traitement de texte : supprime les commentaires, remplacer les macros par leurs valeurs) avant que le compilateur prend la main.

Lorsque tu écrit par exemple:

#define MAXIMUM 100

Le préprocesseur remplacera chaque mot MAXIMUM par sa valeur .
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
40
Salut,

tu ne serais pas le gars qui faisait du QB hier sur #programmation (le salon de code source) ?

Si c'est toi, on t'a répondu plein de fois...

#define a b

c'est faire un rechercher / remplacer de tout les a de ta chaine pour les remplacer par b...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012

reBonjour,

et le define la veut dire quoi? est ce faisable d'abord? car c'est une expression si j'ai bein compris


#define ADD_BELIEF(beliefTotal, beliefAdded) \


ADD_VALID_BELIEF(beliefTotal, normalizeBelief(beliefAdded))

merci pour tout comentaire