當我運行下面的代碼,它工作得很好C:爲什麼我被允許在C中使用const限定變量作爲數組大小?
#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
限定變量數組大小沒有任何錯誤?
您的IBM鏈接已過時C標準。使用過去14年更新過的C參考。 – Lundin
我將標題和文本從「索引」更改爲「大小」。術語索引僅在您使用數組來指示某個特定成員時使用。在聲明或定義中,聲明整個對象的大小。 –