En este artículo, discutiremos la diferencia entre el preprocesador #define y #undef en lenguaje C.
Preprocesador:
- El preprocesador es un programa que se ejecuta antes de la compilación.
- Solo nota la instrucción # iniciada.
- # se llama directiva de preprocesador.
- Cada directiva de preprocesamiento debe estar en su propia línea.
- La palabra después de # se llama el comando del preprocesador.
#definir:
La directiva #define define un identificador y una secuencia de caracteres (un conjunto de caracteres) que se sustituirá por el identificador cada vez que se encuentre en el archivo fuente.
Sintaxis:
#define la secuencia de caracteres del nombre de la macro.
El identificador se conoce como nombre de macro y el proceso de reemplazo como reemplazo de macro.
Ejemplo:
#define PI 3.14
Aquí. PI es el nombre de la macro y 3.14 es la secuencia de caracteres.
Programa 1:
A continuación se muestra el programa C que ilustra el uso de #define:
C
// C program illustrating the use of // #define #include <stdio.h> #define PI 3.14 // Driver Code int main() { int r = 4; float a; a = PI * r * r; printf("area of circle is %f", a); return 0; }
area of circle is 50.240002
Explicación:
- En este ejemplo, PI es el nombre de la macro y la secuencia de caracteres es 3.14.
- Cuando el programa se ejecuta, el compilador verificará primero el comando #define y asignará el PI como 3.14.
- Ahora, en todo el programa, dondequiera que el compilador vea la palabra PI , la reemplazará con 3.14 .
Programa 2:
A continuación se muestra el producto de impresión del programa C de dos números usando #define:
C
// C program to find the product of // two numbers using #define #include <stdio.h> #define PRODUCT(a, b) a* b // Driver Code int main() { printf("product of a and b is " "%d", PRODUCT(3, 4)); return 0; }
product of a and b is 12
Explicación:
- En este ejemplo, se define un nombre de macro como el producto y pasa dos argumentos como ayb y da la secuencia de caracteres como el producto de estos dos argumentos .
- Cuando el compilador ve el macro -nombre en la declaración de impresión, reemplaza el macro-nombre con el producto de a y b y da la respuesta como su producto.
#undef:
La directiva de preprocesador #undef se usa para macros indefinidas.
Sintaxis:
#undef macro-nombre
Programa 3:
A continuación se muestra el programa C para ilustrar el uso de #undef en un programa:
C
// C program to illustrate the use // of #undef in a program #include <stdio.h> #define PI 3.14 #undef PI // Driver Code int main() { int r = 6; float a; a = PI * r * r; printf("area of circle is %f", a); return 0; }
Producción:
Explicación: En este ejemplo, cuando se usa #undef , se eliminará el comando #define y la macro quedará indefinida y el compilador mostrará el error.
Publicación traducida automáticamente
Artículo escrito por simrankumar0799 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA