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