int A [] = {}在C中意味着什么?

时间:2016-11-23 12:53:28

标签: c arrays

我遇到了这段代码。它没有给出错误,但究竟是什么意思?

int A[]={};
编辑:我不得不编辑这篇文章,因为有些人要求提供上下文,编译器等等。

我对编译器知之甚少,但我设法找到了我正在使用的版本“gcc(tdm-1)4.9.2”。

我自己尝试了代码并且运行正常,我也可以在数组上读写。我的问题是:当我宣布这样一个数组时会发生什么?

4 个答案:

答案 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)

您应该显示更多上下文,并提及正在使用的编译器。

我认为代码不会编译符合标准的编译器,空的初始化列表会使其无效。

相关问题