#if 0
代码
#endif
即代表此程序不运行,作用类似/*... */,若是 #if 1 ,则代码运行
区别在于,如果有多个/*.1. /*.2.*/ ....3.*/ ,可能想把 1 ,2,3全部注释掉,但实际程序只注释了1,2,即/* 只识别对应最近的*/
为了解决这个注释嵌套的问题,我们有了开头提到的 #if #endif
例如:
#include“stdio.h”
int main()
{
int a=1;
#if 0
程序段
#endif
a++;
}
或者,我们用它来实现优化代码。
#if是一个最经典的例子。如:
-------------------------------------------------------------------
#include“stdio.h”
#define TEST 1 //宏定义值为1,程序运行,为0,程序不运行。
int main()
{
int a=11;
#if TEST
程序段
#endif
a++;
}
如上面所述,对于某些功能不需要,我们只需把相应功能TEST的宏定义改成0,然后重新编译就行了。
当然一般宏定义是放在一个特定的文件(这里为了简单就写在一起),这样只需要更改那个文件中宏所对应的值就行对程序进行了裁剪而不需要关心具体代码,就实现了系统优化。