宏、条件编译(#ifdef)、#include(头文件包含)、#error和 #pragma的区别、#和##的含义和应用
1、在C语言预处理阶段,编译器首先对代码的处理时:先去注释,再宏替换。2、在源文件的任何地方,宏都是可以定义的,与是否在函数内外无关。3、宏的作用范围是:从定义处开始,往后的直到程序结束都是有效的。可以使用#undef取消宏定义的。4、#ifdef:判定的是宏是否被定义,与宏定义的值是真是假没有关系。5、#if:判定的不仅是这个宏是否被定义,还要判定定义的宏的值是真是假。6、头文件包含:(1)#i