这篇文章主要介绍了C语言中#define在多行宏定义出错的原因是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中#define在多行宏定义出错的原因是什么文章都会有所收获,下面我们一起来看看吧。在用#define进行多行宏定义时,注释要放在””之前在用#define进行多行宏定义时,在最后一行加上”“,我们使用#define进行多行定义时,默认最后一个”“的下一行也属于宏定义范围,去掉最后一行的””即可以下是代码的正确形式有时候编写程序时为方便查找错误,会在很多地方加上串口打印语句直观查看程序哪里出错。但是,串口的输出是需要时间的,在项目基本完成时,就需要将这些打印关闭,但是一行一行的注释掉费时费力,不现实。这时可以使用宏来当做一免费云主机域名个”开关”,直接操作这个宏就可以实现打印的开关,例如:另外,还可以使用几个预定义的宏进行辅助:当程序为了适配更多不同的环境时,还可以使用条件宏来选择不同的代码模块:交换两个数:比较两个数并且返回最小的数:求数组元素个数:细心的你可能已经注意到以上宏末尾都没有带分号“;”1.宏会在编译器在对源代码进行编译的时候进行简单替换,不会进行任何逻辑检测,即简单代码复制而已;2.宏进行定义时不会考虑参数的类型;3.参数宏的使用会使具有同一作用的代码块在目标文件中存在多个副本,即会增长目标文件的大小;4.参数宏的运行速度会比函数快,因为不需要参数压栈/出栈操作;5.参数宏在定义时要多加小心,多加括号;6.函数只在目标文件中存在一处,比较节省程序空间;7.函数的调用会牵扯到参数的传递,压栈/出栈操作,速度相对较慢;8.函数的参数存在传值和传地址(指针)的问题,参数宏不存在;1.宏定义不会对引号内的参数进行替换;2.若要替换,可以在参数前面加上’#’转换成“字符串”,如:使用dprint(x/y)就被替换成:即关于“C语言中#define在多行宏定义出错的原因是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C语言中#define在多行宏定义出错的原因是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。
相关推荐: Go gorilla securecookie库怎么安装使用
本文小编为大家详细介绍“Gogorillasecurecookie库怎么安装使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Gogorillasecurecookie库怎么安装使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。c…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。