# define

infodaoudi Messages postés 117 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 30 mars 2012 - 21 nov. 2006 à 21:52
infodaoudi Messages postés 117 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 30 mars 2012 - 28 nov. 2006 à 09:39
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

wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
21 nov. 2006 à 22:07
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>
0
infodaoudi Messages postés 117 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 30 mars 2012
21 nov. 2006 à 22:25
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?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
21 nov. 2006 à 23:18
#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++ (@++)<!--
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
22 nov. 2006 à 00:31
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 .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 nov. 2006 à 09:43
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)
0
infodaoudi Messages postés 117 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 30 mars 2012
28 nov. 2006 à 09:39
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
0
Rejoignez-nous