Когда я запускаю следующий код, он отлично работает для 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 */
Почему тогда мне разрешено использовать квалифицированную переменную const в C как размер массива без каких-либо ошибок?