[英]Why is the size of array as a constant variable not allowed in C but allowed in C++?
[英]Why am I being allowed to use a const qualified variable as an array size in C?
当我运行以下代码时,它适用于C:
#include<stdio.h>
int main(void)
{
const int x=5;
char arr[x];
printf("%d",sizeof(arr));
}
但是,并非只有我读之前const
合格的变量不是real
常数(这就是为什么他们不能使用case
条件switch-case
),而是来自IBM以下链接证实那( IBMLINK )说:
const int k = 10;
int ary[k]; /* allowed in C++, not legal in C */
为什么我允许在C中使用const
限定变量作为数组大小而没有任何错误?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.