关于C中#define的用法...

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:45:46
1).
可以编译.

#include<stdio.h>
#define pi 3.14
main()
{
float s;
int r=2;
s=pi*r*r;
printf("s=%f",s);
getch();
}

2).
不可编译

#include<stdio.h>
#define pi 3.14,r 2
main()
{
float s;
int r;
s=pi*r*r;
printf("s=%f",s);
getch();
}

是因为#define的用法错误吗?

有三种用法,例如替代多行的代码、条件编译,还有典型的宏定义,具体如下:

1、define最重要的用法是条件编译

#ifdef WINDOWS

......

......

#endif

#ifdef LINUX

......

......

#endif

可以在编译的时候通过#define设置编译环境

2、典型的使用方法

使用宏定义我们可以自己根据自己的习惯来定义甚至改变C语言的语法习惯,例如:

#define BEGIN {

#define END }

int main()BEGIN

printf ("DEFINE----\n");

END

定义一个循环

#define LOOP for(;;)

重新定义数据类型

#define IT int

3、define可以替代多行的代码,在每一个换行的时候加上一个"\"

#define MAX(X,Y) do { \

语句1; \

语句2; \

/* 注释的写法 */ \

} while(0) /* (no trailing ; ) */ \

c语言中define的问题 c语言中#define的问题 C语言 中 #define C++中关于define的问题 C语言中#define是什么意思 关于C语言中的#define C语言的define()问题 C语言中 “#define list_init_size 80” 是什么意思? 关于C编程中的#define小问题 关于#define的一个问题