预处理命令的主要内容:三种预处理命令
宏定义
文件包含
条件编译
1.1简单宏定义(不带参数的宏定义)
命令形式:
#define 宏名字 替代正文
对宏定义的处理:将宏名字替换(也叫宏展开)为替代正文,不作任何语法检查。
书写习惯:用大写字母表示宏名字,以区别于普通变量名。
讨论使用宏定义的好处。
宏定义的作用范围:C程序中,宏定义位置一般写在程序开头,从宏定义开始处有效。如果要在源程序的某处提前终止宏定义的作用域,可以使用#undef,形式如下:
#undef 宏名字
表示从该行开始,不再存在这个宏定义。
宏定义的替代正文可以是任意的字符组合,预处理程序对它的处理只是简单的展开和替换,结果是否正确,由编译程序来检查。
命令形式:
#define 宏名字(参数表) 替代正文
宏名字后紧跟括号,括号内是逗号分隔的几个标识符,被看作参数名字,替代正文中应出现参数表中的参数。
程序中使用带参数的宏类似于函数调用,称为“宏调用”,形式为:
宏名字(实参表)
除了给出宏名字,还要给出各个宏参数的替代段,替代段之间也用逗号分隔。
讨论使用宏调用和函数调用的特点。
预处理程序对带参宏定义的处理分两步:
(1)用宏调用的实际参数替代出现在替代正文中的对应宏参数。
(2)代换结果用到程序中出现宏调用的地方。
讨论在定义和使用宏调用时还应该注意的问题。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !