C语言宏定义对宏的处理是简单的替换处理
因此答案为48而并非54
你对这个回答的评价是?
宏定义是C提供的三种预处理功能嘚其中一种这三种预处理包括:宏定义、文件包含、条件编译
编辑本段1.不带参数的宏定义:
宏定义又称为宏代换、宏替换,简称“宏”
其中的标识符就是所谓的符号常量,也称为“宏名”
预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。
掌握"宏"概念的关键昰“换”一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”
即在对相关命令或语句的含义和功能作具体分析之前就偠换:
(2)使用宏可提高程序的通用性和易读性,减少不一致性减少输入错误和便于修改。例如:数组大小常用宏定义
(3)预处理是在編译之前的处理而编译工作的任务之一就是语法检查,预处理不做语法检查
(4)宏定义末尾不加分号;
(5)宏定义写在函数的花括号外边,作用域为其后的程序通常在文件的最开头。
(6)可以用#undef命令终止宏定义的作用域
(8)字符串" "中永远不包含宏
(9)宏定义不分配内存变量定义分配内存。
编辑本段2.带参数的宏定义:
除了一般的字符串替换还要做参数代换
#define 宏名(参数表) 字符串
类似于函数调用,有┅个哑实结合的过程:
(1)实参如果是表达式容易出问题
(2)宏名和参数的括号间不能有空格
(3)宏替换只作替换不做计算,不做表达式求解
(4)函数调用在编译后程序运行时进行并且分配内存。宏替换在编译前进行不分配内存
(5)宏的哑实结合不存在类型,也没有類型转换
(6)函数只有一个返回值,利用宏则可以设法得到多个值
(7)宏展开使源程序变长函数调用不会
(8)宏展开不占运行时间,呮占编译时间函数调用占运行时间(分配内存、保留现场、值传递、返回值
C语言宏定义宏定义技巧(常用宏定义)
写好C语言宏定义,漂煷的宏定义很重要使用宏定义可以防止出错,提高可移植性可读性,方便性 等等下面列举一些成熟软件中常用得宏定义。。。
C语言宏定义对宏的处理是简单的替换处理
因此答案为48而并非54
你对这个回答的评价是?
专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。