我遇到了这段代码。它没有给出错误,但究竟是什么意思?
int A[]={};
编辑:我不得不编辑这篇文章,因为有些人要求提供上下文,编译器等等。
我对编译器知之甚少,但我设法找到了我正在使用的版本“gcc(tdm-1)4.9.2”。
我自己尝试了代码并且运行正常,我也可以在数组上读写。我的问题是:当我宣布这样一个数组时会发生什么?
答案 0 :(得分:4)
Laravel
在C中是非法的。空的初始化程序无效。 请参阅C11 draft, 6.7.9 Initialization。
答案 1 :(得分:2)
它没有任何意义,它无效C.
C11 6.7.9规定以下两种形式有效:
{ initializer-list }
{ initializer-list , }
其中initializer-list
被定义为以下之一:
designationopt initializer
initializer-list , designationopt initializer
这可以是赋值表达式或C99指定的初始值设定项。空的初始化列表是无效的语法。
答案 2 :(得分:0)
它定义了一个类型为int
的空数组。
答案 3 :(得分:0)
您应该显示更多上下文,并提及正在使用的编译器。
我认为代码不会编译符合标准的编译器,空的初始化列表会使其无效。