C 我不知道';“我不知道为什么电脑会显示”;可变大小的对象可能未初始化";,有人能帮我吗?
编译后,计算机显示“可变大小的对象可能无法初始化”,我不想用数组中的数字5替换大小,所以有人能帮我解决这个问题吗?提前感谢这是因为您使用了一个变量来确定大小。变量不是常量,因此是变量。C 我不知道';“我不知道为什么电脑会显示”;可变大小的对象可能未初始化";,有人能帮我吗?,c,C,编译后,计算机显示“可变大小的对象可能无法初始化”,我不想用数组中的数字5替换大小,所以有人能帮我解决这个问题吗?提前感谢这是因为您使用了一个变量来确定大小。变量不是常量,因此是变量。const int使用C语言中的#define SIZE 5,而const-限定变量不是常量表达式,因此这是一个可变长度数组声明,意味着它的大小在运行时才确定。在其他限制中,VLA不能使用初始值设定项声明。对于这种情况,请将SIZE定义为Paul Ogilvie所示的宏。简而言之,C中的常量变量在某些情况下实际上会
const int
使用C语言中的#define SIZE 5
,而const
-限定变量不是常量表达式,因此这是一个可变长度数组声明,意味着它的大小在运行时才确定。在其他限制中,VLA不能使用初始值设定项声明。对于这种情况,请将SIZE
定义为Paul Ogilvie所示的宏。简而言之,C中的常量变量在某些情况下实际上会发生变化,因此标准只是说您所做的是错误的,即使在您的特定情况下是正确的。非常感谢!!!
int main(void)
{
const int SIZE= 5;
int grades[SIZE]={78, 67, 92, 83, 88}; // variable-sized object may not be initialized
...
}