作为代码中,第一个看到的,极有可能就是define这个东西,称为宏!(define是可以出现在任何地方的,但是我们一般把这个写到最开始)然而,很多时候,初学者有时候可能看不懂她,因此,我的c语言学习的第一篇就写这个啦。
define基本用法,简单定义
最浅显的,define能用一个有含义的字符来替代一些数字,比如
#define PI 3.141592654
这样,假如以后要计算圆的周长或者面积,就可以用PI这个字符而不用写3.141592654啦。
比如
#define PI 3.141592654
#include "stdio.h"
int main(){
int r = 3;
float s;
s = PI*r*r;
printf("%f",s);
}
带参数的define
事实上,你可以用define定义很多东西,比如
#define IF(x) if(x){
#define ENDIF }
#include "stdio.h"
int main(){
IF(1)
printf("%d",1);
ENDIF
}
为什么可以这样定义?实际上define的作用仅仅是字符替换而已,所以只要不引起语法错误,没有什么事不可以替换的。为什么会这样?看看下面的
define是怎样工作的
来看看define是怎样工作的,先让我们把上面的有PI的代码保存为test.c,假设你已经安装了gcc,那么执行gcc的预处理命令
gcc -E test.c
你会看到一堆代码,如下
# 1 ""
# 1 "test.c"
......
......
# 3 "test.c" 2
int main(){
int r = 3;
float s;
s = 3.141592654*r*r;
printf("%f",s);</