#ifdef, #ifndef, ## C Preprocesador

#ifdef, #ifndef, ## C Preprocesador

Existen varios comandos del preprocesador en el idioma C. Los comandos #define y #undef son los comandos preprocesador más importantes presentes en el idioma C. Cada uno de ellos tiene algunas características únicas. En este tema, discutiremos en detalle sobre #ifdef, #ifndef y ## comandos.

El concepto de preprocesador

Antes de discutir los comandos #ifdef, #ifndef y ##, tenemos que saber sobre el preprocesador.

Un conjunto de programas ejecutados antes de compilar nuestro programa, y ​​se llama preprocesador. La función principal del preprocesador es solo observar las declaraciones simbólicas #. El resto de las líneas permanece sin cambios por el procesador. Este # tiene un nombre único en el lenguaje C: la Directiva del preprocesador. La función de esta Directiva del preprocesador es dar una dirección a esa declaración particular. El # es seguido por el comando preprocesador.

Diagrama del preprocesador

El preprocesador resuelve todas las # líneas. Significa que no queda línea con # compilada por el compilador.

Ahora, discutiremos sobre los comandos #ifdef, #ifndef y ## en detalle. Estos comandos del preprocesador enumerados son:

Comandos del preprocesador

  • #if, #Else, #Elif y #Endif
  • #ifdef y #ifndef
  • ##

Programación Ejemplo 1

En este ejemplo de programación, veremos la aplicación del comando preprocesador #IF, #ELSE.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
17
18
19
20
#incluir
#Define Country India
int main ()

#if país == Pakistán // Uso del comando # if.
Printf ("rupias pakistani \ n");
#elif country == Bangladesh
printf ("taka \ n");
#elif country == Nepal
printf ("rupias nepali \ n");
#ELSE // Uso del comando # else.
Printf ("Indian Rupees \ n");
#endif // país
regresar 0;

Producción

Explicación

En ese lenguaje de programación en particular, damos un ejemplo de #if, #Else. El #if no necesita ningún () paréntesis. Se usa para ejecutar la única declaración verdadera. De lo contrario, usaremos #Elif para establecer diferentes tipos de condiciones en el código de programación. Cuando usamos la condición verdadera IF, entonces no se verificará ninguna otra condición e imprimirá la condición correcta en nuestro monitor.

Para el #if, se determina si esta línea se cumple o no. #Elif es tan bueno como otra si.

Programación Ejemplo 2

Aquí, veremos otro ejemplo del comando #if, #Else:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#incluir
#Define un comando 100 // preprocesador se usa aquí.
#Define B 0
#Define C 10
int main (nulo)

int a = 100, b = 0, c = 10;
#IF A // # Si la declaración se usa aquí.
Printf ("Valor de a es %d \ n", a);
#Elif B
printf ("El valor de B es %d \ n", b);
#Else // # Else la declaración se usa aquí.
Printf ("El valor de c es %d \ n", c);
#terminara si
regresar 0;

Producción

Explicación

En este ejemplo de programación, se utilizan #IF y #ELSE. Anteriormente, dijimos que estos comandos son diferentes de los if-else normales utilizados en el programa. Este comando es ejecutado por el procesador y se ejecuta antes de la compilación. Pero solo la declaración verdadera se ejecuta y está lista para compilar.

1
#ifdef, #ifndef macros

#IFDEF es una macro. Si alguna macro está contenida en una declaración #define, entonces el resto de la declaración debe ser compilada por el compilador.

#ifndef también es una macro como #ifdef.

Programación Ejemplo 3

En este ejemplo de programación, veremos la aplicación del comando preprocesador, #ifdef, #ifndef:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
17
18
#incluir
#Define el país "India"
int main ()

#ifdef país // usando el comando # ifdef.
printf ("%s es un gran país", país);
#endif // país
#ifndef país // usando el comando # ifndef.
printf ("Amo a mi nación");
#endif // país
regresar 0;

Producción

Explicación

En esta programación en particular, damos un ejemplo de #ifdef, #ifndef. El #IF y #ELSE son diferentes de lo normal si más se usan normalmente en el idioma C. El preprocesador los ejecuta para decidir qué condición estará lista para la compilación. Se usa para ejecutar solo una declaración verdadera. De lo contrario, usaremos #Elif Para establecer diferentes tipos de condición en el código de programación. Cuando usamos esto si es una condición verdadera, no se verificará ninguna otra condición e imprimirá la condición correcta en nuestro monitor.

#ifdef realmente usa si la macro se define con cualquier secuencia de caracteres. Si la macro no está definida, entonces #ifndef ejecutar. Aquí, se utiliza una macro en el programa nombrado país. La macro país se define con la secuencia de caracteres llamada "India". Para esto, #IFDEF se ejecuta en este programa.

Programación Ejemplo 4

En este ejemplo de programación, veremos otra aplicación del comando preprocesador #IFDEF, #IFNDEF.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dieciséis
17
18
19
20
21
22
23
#incluir
int main ()

int x = 0;
#ifdef noinput // usando el comando # ifdef.
#demás
printf ("Ingrese el valor de la variable x:");
scanf ("%d", & x);
#terminara si
printf ("El valor de x es: %d \ n", x);
regresar 0;

Producción

Explicación

En esa programación en particular, damos un ejemplo de #ifdef, #ifndef. Como mencioné anteriormente, #ifdef realmente usa si la macro se define con cualquier secuencia de caracteres. Si la macro no está definida, entonces #IFNDEF se ejecuta. Aquí, se utiliza una macro en el programa nombrado SIN ENTRADA. Entonces, se ejecuta y listo para la compilación.

## operador

El ## también es un operador que el preprocesador resuelve. Con la ayuda del operador ##, podemos concatenar dos declaraciones o dos cuerdas fácilmente.

Programación Ejemplo 5

En este ejemplo de programación, veremos la aplicación del comando preprocesador ## operador.

1
2
3
4
5
6
7
8
9
10
11
12
13
#incluir
#Define Action (A, B) A ## B+A*B
int main ()

printf ("%d", acción (3,4));
regresar 0;

Producción

Explicación

En este ejemplo de programación, usamos el operador ## para concatenar dos cuerdas. Este operador también es ejecutado por el procesador. En realidad concatena dos cuerdas.

Aquí, la expresión se da Acción (3, 4), y se reemplaza por A ## b + a * b = 34 + 3 * 4 = 34 + 12 = 46.

## Concatenate los dos operandos.

Conclusión

En este artículo, discutimos el procesador y los comandos del preprocesador listo para compilación y ejecutación por el compilador. Estos comandos preprocesadores discutidos anteriormente son muy importantes para el cumplidor, qué cosas se compilarán. Basado en estas cosas, nuestro programa se ejecutará.