首页 > 技术文章 > C语言为什么被const声明的变量不是一个常量表达式

demon90s 原文

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

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

如果有这样一个函数:

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

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

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

推荐阅读