macro Complejo con argumentos (función como macro) en lenguaje C

Aquí, vamos a aprender cómo podemos definir una macro compleja que se parece a un usuario definir la función en el lenguaje de programación C?

También podemos definir una macro con argumentos, por lo que una macro se puede utilizar en diferentes lugares con diferentes valores. Estos valores pasan en la definición de la macro con la ayuda de argumentos.

Los argumentos deben ser utilizados cada momento de la llamada macro.

Este tipo de macro parece una función; por lo tanto, podemos decir que este es el “funcionan como definición de macro” .

Sintaxis

#define macro_name(argument_list) code_fragment

Aquí,

  • #define es un pre-procesador directiva
  • nombre_macro es el nombre de macro
  • argument_list es la lista de argumentos
  • code_fragment es la declaración de que se compila en el lugar de la macro

Considere la siguiente instrucción (como ejemplo de código de macro complejo)

#define SUM(A,B)    (A+B)  

Aquí, SUM es macro complejo donde A y B son los argumentos de entrada y la declaración (A + B) es el fragmento de código que. En el momento de la compilación, el compilador reemplazará la macro SUMA con su fragmento de código (A + B) .

programa C ejemplo de macro complejo

#include<stdio.h>
#define SUM(A,B) (A+B) // addition of two numbers
#define AVG(A,B) ((A+B)/2) // average of two numbers
#define MAX(A,B) ((A>B)?A:B) // largest number
int main()
{
int num1,num2;
printf("Enter first number : ");
scanf("%d",&num1);
printf("Enter second number: ");
scanf("%d",&num2);
printf("Sum is = %dn",SUM(num1,num2));
printf("Average is = %dn",AVG(num1,num2));
printf("Largest Number is = %dn",MAX(num1,num2));
return 0;
}

salida

Enter first number : 10 
Enter second number: 20
Sum is = 30
Averageis = 15
Largest Number is = 20



demostrando

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *