您好、欢迎来到现金彩票网!
当前位置:彩70 > 符号常量 >

c语言问题有两个问题符号常量在整个程序中其值都不能再被重新定

发布时间:2019-05-09 15:32 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部常量就是右值, 它在内存中没有它的空间, 也就不能改变它的值, 或者可以这么说, 你就算改变了它也没有任何价值, 而且这样会对程序的一些地方的错误难以发现. 所以它是不能被改变的.

  而符号常量和常量一样, 它是不能被改变的. 但是它是有作用域的, 超过这个作用域就没用了.

  常量你可以理解成有作用域, 而它的作用域是整个程序.追问但是,这个题里面说符号常量是可以重新被定义的,(一般在程序中都是利用宏定义来定义符号常量的,在代码中可以利用undef来结束符号常量的定义,然后进行重新定义,)岂不就是常量的值可以改变?搞不懂追答那是你自己没有明白宏是什么东西. 预处理器和编译器就是两个不同的东西.

  你平常写的代码编译器是无法全部正常编译的, 因为你的代码里有注释, 文件包含, 宏等, 这些东西不是编译器能够识别的.

  预处理器在#definn B 10后, 它在后面的代码只要全词匹配B的地方, 它就会被*替换*为10,

  执行完后, B被重新定义了, 它要求编译器在出现B的地方, 把B替换为100.

  编译器处理的代码: 没有注释, 文件全部被包含, 宏全部被替换, 多余的代码全部被删除(如头文件重复包含)

  符号常量还有一个就是用const修饰的常变量. 可以说它用着比宏方便多了. 有些编译器有优化代码的时候是会把用const修饰的常变量的值加到*字符表*中, 也就是说它在程序运行的时候压根不占*任何内存*

  p = //编译通过追问但是,这个题里面说符号常量是可以重新被定义的,(一般在程序中都是利用宏定义来定义符号常量的,在代码中可以利用undef来结束符号常量的定义,然后进行重新定义,)岂不就是常量的值可以改变?搞不懂追答你说的是 宏啊?

  当 一个文件同时饮用 这两个文件,并且 使用 宏PI的时候,这个 PI的值 就 有待 分析了.

http://hayleylord.com/fuhaochangliang/120.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有