我们真的可以在C99和C11中使用const关键字来构建这样的常量表达式吗?标准说的是什么?
const int n = 5;
int main()
{
int arr[n];
}
Run Code Online (Sandbox Code Playgroud)
在C89/C90我们不能.
constC中的编号从不意味着不变,但它意味着只准备就绪.
这与C90/C99/C11相同.
请注意,在您的示例中,您使用的是可变长度数组.在C99中引入了VLA,VLA的大小不需要是常量表达式,但仍然n不是常量表达式.