C语言为什么被const声明的变量不是一个常量表达式

时间:2022-10-29 12:43:15

所谓常量表达式,就是在程序运行后,在任何情况下,都能保持不变的值。

const声明的变量不具有这样的性质,比如:

 

如果有这样一个函数:

int func(int m)
{
const int n = m;
}

这样是合法的,但是n可能随时改变成不同的值。

 

这在C++中也是同样的(C++中使用static const声明的变量才可以模拟一个常量表达式)。