#ifdef, #ifndef, ## c

#ifdef, #ifndef, ## c

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

  • #if, #else, #elif et #endif
  • #ifdef et #ifndef
  • ##

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é.