#define 标识符 值

#define 定义完一个宏后相当于生成了一个字典,在又遇到字典当中键的时候,自动换成键对应的值
虽然加#的操作都叫预操作,但是实际上#define定义宏是随着代码向下执行的时候定义的。define a 1 + #define a 2例子中a从1变成2说明了这一点。
#define是可以传递的,而且是动态链接,即把标识符b链接到标识符a后,修改a,b的值也会变(换言之,b就是a的一个浅复制,直接指向a)
标识符必须是变量(true和false是一个已经预定义好的宏,所以不会报错)
当#define用其他标识符定义另一个标识符时,发现字典中存在自环的时候,比如
#define x y+1
#define y 2*x
1
2
这时就会出现循环定义,x寻找y,y寻找x…为了保护代码,就会阻止定义,这就是为什么#define true false + #define false true 会什么都没变。

上一篇:pycharm无限试用30天


下一篇:适合设为IDE的背景图片,简约,氛围感拉满