简述C语言中标识符和关键字的概念与区别 标识符是在程序2113中使用的变量名、函数5261名、标号等统称为标识4102符。除库函数的函数名由系统定义外,其余都由用户1653自定义。C规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。在使用标识符时还必须注意以下几点:(1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。(2)在标识符中,大小写是有区别的。例如BOOK和book是两个不同的标识符。(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。关键字你看一看这一个C语言中,宏替换的替换规则 简单来说:宏定义又称为宏2113代换5261、宏替换,简称“宏”。宏替换是C/C++的预处理中的一4102部分1653,在C++标准中有4条规则来定义替换。规则1:实参替换。本条规则描述带参数的宏的替换过程。对于宏定义中的形参,在替换列表中,如果不是作为#或#的操作数,那么将对应实参完全展开(相当于对实参进行求值),然后将替换列表中的形参替换掉.如果是#或#的操作数,那么不进行替换。规则2:多次扫描。在所有的形参替换为实参后,对结果进行再次扫描,如果发现还有可替换的宏,则进行替换,否则中止。规则3:递归替换抑制。如果在替换列表中发现当前正在展开的宏的名字,那么这里不进行替换.更进一步,在嵌套的替换过程中发现已经替换过的宏的名字,则不进行替换。规则4:递归预处理抑制。如果替换后的结果形成预处理指令,则不执行这条预处理指令。看几个C++标准中的例子:define x 3define f(a)f(x*(a))undef xdefine x 2define g fdefine z z[0]define h g(~define m(a)a(w)define w 0,1define t(a)af(y+1)+f(f(z))%t(t(g)(0)+t)(1);g(x+(3,4)-w)|h 5)&m(f)^m(m);其结果分别是f(2*(y+1))+f(2*(f(2*(z[0]))))%f(2*(0))+t(1);f(2*(2+(3,4)-0,1))|f(2*(~5))&f。C 中预定义标识符与关键字有什么区别
随机阅读
- 关于匹配滤波器和最佳接收机 fsk相干接收噪声功率计算
- 途锐哪里有 坊子区鑫达服装厂
- 龙岗汇峰大厦中国银行 龙岗新生社区有中国银行取款机?
- 会计恒等式中为什么没有成本类 关于会计恒等式 和损益类 成本类分类
- 厦门禾祥西路新泉庄怎么去 连城至新泉多少公里
- 施工升降机(人货梯)的第一道附墙规定多少米?最后道附墙上面自由高度又是规定多少米? SolidWorks画螺杆升降机
- 护肤霜的成分是什么?各成分作用是什么? 面霜主要成分
- 歌词感情的债要怎么还 请问这歌词是哪首歌里面的,(我的爱,也曾经深深温暖你的心灵,你和他之间,是否已经有了真感情~~~)
- 系统动力学基模资源 如何学习能源与动力工程这个专业?
- 压灌超流态混凝土灌注桩 超流态混凝土灌桩流程
- 剑侠情缘手游五毒洗练属性怎么选 五毒魂石怎么搭配 剑侠情缘五毒属性效果
- 重大决策社会稳定风险评估细则 为什么要建立健全重大决策社会稳定风险评估机制
- 勇者斗恶龙5选哪个新娘好? 天空的新娘比安卡
- 莫名其妙 烦躁 莫名其妙的烦躁是怎么回事
- 西北旺二手房怎么样 永旺佳苑进度
- 最好的永久脱毛方法是什么 永久脱毛方法有哪些
- 盐酸去氧肾上腺素副作用 去氧肾上腺素局部坏死
- 白杨坪镇朝阳村委会 湖北丹江口市有几个乡镇
- 联韩花园三元饭堂 仙桃市有哪些县乡镇
- 乐甲硝唑 氰烯菌酯氰乙酸乙酯