#undef : supprimer la définition d'une macro-substitution
Syntaxe:
#undef symbole
Description:
Cette directive supprime la définition de la macro-substitution de 'symbole' et:
- toute apparition de symbole en dehors d'une directive de compilation ou d'un commentaire sera considérée comme une erreur;
- la condition '#ifndef symbole' est vraie;
- la condition '#ifdef symbole' est fausse.
Si symbole n'est pas défini quand survient '#undef symbole' cela n'a auncune conséquence.
Voir aussi:
Exemple:
/*
Les 18 lignes ci-dessous permettent la génération présentée
à la fin
*/
#define SYMB "substitution"
void main(void) {
#ifdef SYMB
printf("*** %s \n", SYMB);
#endif
#undef SYMB
#ifdef SYMB
printf("*** %s \n", SYMB);
#else
printf("*** SYMB n'est plus défini \n");
#endif
}
/* Texte généré
#line 1 "essai.c"
void main(void) {
printf("*** %s \n", "substitution");
#line 14 "essai.c"
printf("*** SYMB n'est plus défini \n");
}
*/