Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 我不知道';“我不知道为什么电脑会显示”;可变大小的对象可能未初始化";,有人能帮我吗?_C - Fatal编程技术网

C 我不知道';“我不知道为什么电脑会显示”;可变大小的对象可能未初始化";,有人能帮我吗?

C 我不知道';“我不知道为什么电脑会显示”;可变大小的对象可能未初始化";,有人能帮我吗?,c,C,编译后,计算机显示“可变大小的对象可能无法初始化”,我不想用数组中的数字5替换大小,所以有人能帮我解决这个问题吗?提前感谢这是因为您使用了一个变量来确定大小。变量不是常量,因此是变量。const int使用C语言中的#define SIZE 5,而const-限定变量不是常量表达式,因此这是一个可变长度数组声明,意味着它的大小在运行时才确定。在其他限制中,VLA不能使用初始值设定项声明。对于这种情况,请将SIZE定义为Paul Ogilvie所示的宏。简而言之,C中的常量变量在某些情况下实际上会

编译后,计算机显示“可变大小的对象可能无法初始化”,我不想用数组中的数字5替换大小,所以有人能帮我解决这个问题吗?提前感谢

这是因为您使用了一个变量来确定大小。变量不是常量,因此是变量。
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
...
}