Le bon usage des macros

Problème

Vous souhaitez utiliser une macro, mais vous ne savez pas comment l’écrire pour qu’elle fonctionne dans tous les cas.

Solution

Mettez tous les arguments entre parenthèses. Si votre macro génère des instructions, placez celles-ci dans un bloc do { } while(0).

Discussion

La création d’une macro s’effectue simplement à l’aide du mot-clé #define d’une des deux manières suivantes :


#define nom_de_la_macro définition 
#define nom_de_la_macro (liste_de_paramètres_formels) définition
 

Les macros présentent l’intérêt de définir des constantes ou des instructions qui seront systématiquement et littéralement remplacées par le préprocesseur là ou leur nom apparaît. Elles sont préférables aux fonctions dans certains cas, comme la définition d’opérations sur des variables qui n’ont pas forcément le même type. Pour mettre un nombre au carré, par exemple, il nous faudra au moins deux fonctions, l’une si l’argument est un entier, l’autre s’il est de type flottant. La macro que nous pouvons écrire pour cela ne regarde pas le type des données tant qu’il est possible de remplacer le nom de la macro par sa définition et de compiler le résultat. Cela permet d’avoir le même code pour un nombre entier ou flottant.

Autre avantage des macros...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Faire renvoyer plusieurs valeurs à une fonction
Suivant
Goto et les traitements d'exception