tis*_*ssa 5 c compiler-errors const
在阅读stackoverflow中的一些问题和答案时,我遇到了这个问题
我试图理解它,但答案很难理解,特别是像这样的术语
静态存储时间
在翻译阶段无法评估表达式
等等...
此外,我认为常数总是常数(这是我从学校学到的)
有人可以让它有点容易理解吗?
这里有两个几乎完全不相关的概念:
4+5是一个常量表达式。const A=4;有时在某些情况下会A变成常量表达式,因为它是从常量表达式初始化的。(这只适用于C++,不适用于C)const4B=A; A本身可能是一个常量表达式,但它B是一个变量,并且本身可能不在常量表达式中。const变量是函数(或结构)承诺不会更改的变量,尽管其他事物可能会更改同一变量。