簡體   English   中英

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

[英]What does int A[]={} mean in C?

我遇到了這段代碼。 它沒有給出錯誤,但是究竟是什么意思呢?

int A[]={};

編輯:我不得不編輯這篇文章,因為你們中的一些人要求上下文,編譯器等。

我對編譯器了解不多,但是我設法找到了我正在使用的版本“ gcc(tdm-1)4.9.2”。

我自己嘗試了該代碼,它確實運行正確,我也能夠在該陣列上進行讀寫。 我的問題是:當我聲明這樣的數組時,到底發生了什么?

int A[]={};

在C中是非法的。空的初始化程序無效。 參見C11草案6.7.9初始化

沒什么意思,它不是有效的C。

C11 6.7.9聲明以下兩種形式有效:

{ initializer-list } 
{ initializer-list , }

其中initializer-list定義為以下之一:

designationopt initializer
initializer-list , designationopt initializer

這可以是賦值表達式,也可以是C99指定的初始化程序。 空的初始化程序列表是無效的語法。

它定義了一個int類型的空數組。

您應該顯示更多上下文,並提及所使用的編譯器。

我不認為代碼可以使用符合標准的編譯器進行編譯,而空的初始化列表會使其無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM