Plusieurs commandes de préprocesseur existent dans la langue C. Les commandes #Define et #UNDEF sont les commandes de préprocesseurs les plus importants présents dans la langue C. Chacun d'eux a des fonctionnalités uniques. Dans ce sujet, nous discuterons en détail des commandes #ifDef, #ifndef et ##.
Le concept de préprocesseur
Avant de discuter des commandes #IFDEF, #IFNDEF et ##, nous devons connaître le préprocesseur.
Un ensemble de programmes exécutés avant la compilation de notre programme, et il s'appelle un préprocesseur. La fonction principale du préprocesseur est uniquement pour observer les déclarations symboliques #. Le reste des lignes reste inchangé par le processeur. Ce # a un nom unique dans la langue C: la directive du préprocesseur. La fonction de cette directive de préprocesseur est de donner une direction à cette déclaration particulière. Le # est suivi par la commande de préprocesseur.
Diagramme de préprocesseur
Le préprocesseur résout toutes les lignes #. Cela signifie qu'il n'y a plus de ligne avec # compilé par le compilateur.
Maintenant, nous allons discuter en détail des commandes #IFDEF, #IFNDEF et ##. Ces commandes pré-incessantes répertoriées sont:
Commandes de préprocesseur
Exemple de programmation 1
Dans cet exemple de programmation, nous verrons l'application de la commande de préprocesseur #if, #ELSE.
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 | #inclure #Define Country India int main () #if country == Pakistan // Utilisation de la commande # if. Printf ("Roupies pakistanaises \ n"); #elif country == Bangladesh printf ("taka \ n"); #elif country == Népal printf ("Népalais roupies \ n"); #ELSE // Utilisation de la commande # else. Printf ("Roupies indiennes \ n"); #endif // pays retour 0; |
Sortir
Explication
Dans ce langage de programmation particulier, nous donnons un exemple de #if, #else. Le #if n'a besoin d'aucune parenthèse (). Il est utilisé pour exécuter la seule déclaration vraie. Sinon, nous utiliserons #ELIF pour définir différents types de conditions dans le code de programmation. Lorsque nous utilisons la condition si vraie, aucune autre condition ne sera vérifiée et elle imprimera la bonne condition dans notre moniteur.
Pour le #if, il est déterminé si cette ligne est respectée ou non. #elif est aussi bon que si.
Exemple de programmation 2
Ici, nous verrons un autre exemple de la commande #IF, #ELSE:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #inclure #Define Une commande 100 // préprocesseur est utilisée ici. #define b 0 #Define C 10 int Main (vide) int a = 100, b = 0, c = 10; #if a // # L'instruction IF est utilisée ici. Printf («La valeur de a est% d \ n», a); #ELIF B printf («La valeur de b est% d \ n», b); L'instruction #ELSE // # else est utilisée ici. Printf («La valeur de c est% d \ n», c); #fin si retour 0; |
Sortir
Explication
Dans cet exemple de programmation, les #if et #Else sont utilisés. Plus tôt, nous avons dit que ces commandes sont différentes de la norme normale utilisée dans le programme. Cette commande est exécutée par le processeur et s'exécute avant la compilation. Mais seule la vraie déclaration est exécutée et prête à compiler.
1 | #ifdef, #ifndef macros |
#ifdef est une macro. Si une macro est contenue à une instruction #Define, alors le reste de l'instruction doit être compilé par le compilateur.
#ifndef est également une macro comme #ifdef.
Exemple de programmation 3
Dans cet exemple de programmation, nous verrons l'application de la commande prerocesseur, #ifDef, #ifndef:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 | #inclure #Define Country "Inde" int main () #ifdef country // Utilisation de la commande # ifdef. printf ("% s est un grand pays", pays); #endif // pays #ifndef country // Utilisation de la commande # ifndef. printf ("j'aime ma nation"); #endif // pays retour 0; |
Sortir
Explication
Dans cette programmation particulière, nous donnons un exemple de #ifdef, #ifndef. Les #if et #Else sont différents de la normale si vous êtes utilisé normalement dans la langue C. Ils sont exécutés par le préprocesseur pour décider quelle condition sera prête pour la compilation. Il est utilisé pour exécuter uniquement la vraie instruction. Sinon, nous utiliserons #ELIF Pour définir différents types de conditions dans le code de programmation. Lorsque nous l'utiliserons en cas de véritable état, aucune autre condition ne sera vérifiée et elle imprimera la bonne condition dans notre moniteur.
#ifdef Utilise réellement si la macro est définie avec une séquence de caractères. Si la macro n'est pas définie, alors #ifndef exécution. Ici, une macro est utilisée dans le programme nommé pays. La macro pays est défini avec la séquence de caractères nommée "Inde". Pour cela, #ifDef s'exécute dans ce programme.
Exemple de programmation 4
Dans cet exemple de programmation, nous verrons une autre application de la commande de préprocesseur #ifDef, #ifndef.
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 | #inclure int main() int x = 0; #ifdef noinput // Utilisation de la commande # ifdef. #autre printf ("Entrez la valeur de la variable x:"); scanf ("% d", & x); #fin si printf ("La valeur de x est:% d \ n", x); retour 0; |
Sortir
Explication
Dans cette programmation particulière, nous donnons un exemple de #ifdef, #ifndef. Comme je l'ai mentionné plus tôt, #ifDef utilise réellement si la macro est définie avec une séquence de caractères. Si la macro n'est pas définie, alors #ifndef s'exécute. Ici, une macro est utilisée dans le programme nommé PAS D'ENTRÉE. Donc, il s'exécute et prêt pour la compilation.
## opérateur
Le ## est également un opérateur résolu par le préprocesseur. À l'aide de l'opérateur ##, nous pouvons concaténer facilement deux déclarations ou deux cordes.
Exemple de programmation 5
Dans cet exemple de programmation, nous verrons l'application de l'opérateur du préprocesseur ##.
1 2 3 4 5 6 7 8 9 dix 11 12 13 | #inclure #Define Action (a, b) a ## b + a * b int main () printf ("% d", action (3,4)); retour 0; |
Sortir
Explication
Dans cet exemple de programmation, nous utilisons l'opérateur ## pour concaténer deux chaînes. Cet opérateur est également exécuté par le processeur. Il concaténe en fait deux cordes.
Ici, l'expression est donnée Action (3, 4), Et il est remplacé par a ## b + a * b = 34 + 3 * 4 = 34 + 12 = 46.
## concaténer les deux opérandes.
Conclusion
Dans cet article, nous avons discuté du processeur et de la compilation prête et exécutée et exécutez des commandes de préprocesseur par le compilateur. Ces commandes de préprocesseur discutées précédemment sont très importantes pour le complice, que les choses qui seront compilées. Sur la base de ces choses, notre programme sera exécuté.