【发布时间】:2026-02-17 17:55:01
【问题描述】:
简而言之,来自 C:
常量表达式
编译器识别源代码中的常量表达式 并用它们的值替换它们。得到的常数值 必须在表达式的类型中是可表示的。您可以使用常量 允许使用简单常量的表达式。
运算符 常量表达式遵循与其他表达式相同的规则 表达式。因为常量表达式是在翻译时计算的 但是,它们不能包含函数调用或操作 修改变量,例如赋值。
-
什么是常量表达式?它没有定义常量表达式
-
常量表达式和不可修改的左值有什么区别(例如数组名,用
const声明的左值) -
常量表达式总是非左值吗?
-
不可修改的左值是常量表达式吗?
【问题讨论】:
-
有什么帮助吗? *.com/q/3755524/2173917
-
我认为很明显,重要的区别在于运行时间与翻译时间。
-
在这种情况下,将常量表达式视为文字值或对文字值的操作。不可修改的左值是内存中的一个变量(这是查看左值的一种方式),它被定义为
const。 -
@MichaëlRoy:“定义为
const”不一定,想想一个数组。 -
我注意到您一直在询问有关 C 的不同书籍定义的问题。我不知道您的意图是什么。但是您经常遇到的问题是引用 C 标准。当您有这样的问题时,为什么不直接拿一份并尝试阅读它呢?而且你几乎从不接受答案。
标签: c