C语言中#define的介绍及例子

972 阅读5分钟

#Define in C

C语言中#define的介绍

#define是C语言编程中的一个函数,它可以帮助我们在源码存在的同时定义宏。使用宏定义,我们可以定义常量值,这些常量值可以在我们的整个代码中使用。这些宏定义与变量不同。它们不能像程序中的变量那样被改变。宏可以用来创建一些字符串或甚至数字的表达式。宏是高效、可重复使用和快速的。它是创建常量的一种方式。

语法

#define CONSTNAME value

#define CONSTNAME expression

指令#define有助于创建一个标识符,该标识符将成为一个常量值。CONSTNAME只有在形成一个标记时才会被替换。CONSTNAME后面的参数可以是代币、常量值,也可以是完整的语句。这个指令可以根据需要在整个程序中使用。

C#指令在C语言中是如何工作的?

#include <stdio.h>
#define MATHPI 3.14
main() {
printf("%f",MATHPI);
}

如前所述,该程序帮助我们创建可以直接使用的常量值。在上面的例子中,我们试着理解#define函数的工作。像#include一样,我们使用了#define并声明其值为3.14。它帮助我们为这个MATHPI常量变量设定了一个常量值。一旦定义好了,这个函数就会存储在内存中,然后可以在整个程序中直接使用。它的值可以通过MATHPI变量名来引用。在程序中使用这个函数的地方,它将被替换成它的值。这可以用于那些值不会改变的数值。

C语言中#Define的例子

下面是#Define在C语言中的例子。

例子 #1

使用#define函数替换一个数字值

代码。

#include <stdio.h>
#define MATHPI 3.1415
int main()
{
float radius, area, circum;
printf("Enter the radius for the circle: ");
scanf("%f", &radius);
area = MATHPI*radius*radius;
printf("The area of circle is= %.2f",area);
return 0;
circum = 2*MATHPI*radius;
printf("The circumference of circle is= %.2f",circum);
}

上述函数通过使用#define函数得出的常量值,帮助我们得到圆的面积。这里我们使用了define,将MATHPI的值定义为3.1415。这个值将在整个程序中保持不变,并且可以多次使用。我们采取了三个浮动变量。这些变量将存储变量的本地值。 我们可以通过使用#define变量和局部变量来计算圆的面积和周长。我们在代码中使用了MATHPI变量两次。一次用于计算面积,第二次用于计算圆的周长。两次我们都使用了这些变量。这方面的数值保持不变,我们得到了面积和周长。下面是上述程序的输出。

输出。

#define in C output 1

例子#2

使用#define替换一个字符串的值

代码。

// C program to demonstrate #define to replace a string value
#include <stdio.h>
// We have defined a string PUN for Pune
#define PUN "Pune"
int main()
{
printf("The city I live in is %s ", PUN);
return 0;
}

上面的程序是一个例子,我们使用#define函数定义了一个字符串变量PUN。它可以帮助我们在代码中的任何地方使用这个字符串值。在主程序中,我们打印了一个字符串,显示你居住的城市。要打印的PUN变量是用#define定义的。它不能被进一步改变。上述程序的输出将如下所示。变量PUN的值将被替换成我们声明的常量字符串。

输出。

#define in C output 2

示例 #3

使用#define定义一个表达式

代码。

#include <stdio.h>
#define MAX(x,y) ((x)>(y)?(x):(y))
void main() {
printf("The maximum by using #define function is: %d\n", MAX(97,23));
}

上面的程序演示了#define函数在表达式中的应用。我们定义了一个表达式来帮助我们寻找两个数字之间的最大值。表达式MAX的定义逻辑是寻找两个数字之间的最大值。这个#define变量曾经拥有这个寻找两个数字的最大值的值。在主函数中,我们只是使用了一个打印函数,帮助我们找到任何两个数字的最大值。在这个打印函数中,我们只是调用了MAX函数。我们向这个MAX变量传递了两个数字,它被定义为两个数字的最大值。这段代码的输出将如下所示。

输出。

output 3

例子 #4

在使用定义函数时使用'#'。

代码。

#include <stdio.h>
#define  msg_for(a)  \
printf(#a " : Let us learn something new!\n")
int main(void) {
msg_for(EduCBAians);
return 0;
}

在这个例子中,我们使用了'#'运算符。这里的#操作符作为一个操作符,帮助我们接受用户对某个特定变量的输入。我们可以向变量发送参数,这些参数是通过#define a variable传递和创建的。我们在这里定义了一个变量的名字,这个名字是用#来打印的。通过调用msg_for函数从main发送的id值。在这里,我们发送的参数是EduCBAians。打印消息的函数是用#define函数定义的。这是一个常量函数。这个函数,无论何时被调用,都会打印变量,这个变量被传递到msg_for函数中。下面将是上述代码的输出,这有助于我们甚至定义常量函数。

输出。

output 4

结论

#define函数帮助我们定义常量变量,可以在整个程序中使用。这个值将保持不变。它可以是表达式、变量或任何你想成为常量的值。它有助于使该变量具有统一性。它更快,因为在代码开始运行之前就已经定义了值。它也很有效,因为你只需要在代码中指定变量名称。使用#define函数时,代码看起来也很整洁。使用C语言的这个函数是快速有效的,也很容易。