【发布时间】:2012-11-29 09:39:37
【问题描述】:
我阅读了以下代码:
struct hello {
int number;
int data[1];
};
我知道灵活数组成员允许我们将最后一个元素声明为array of unspecified size,如下所示:
struct hello {
int number;
int data[];
};
在这个struct中,最后一个元素没有指定大小,那么这两者有什么区别呢?第一个声明是什么意思?
【问题讨论】:
-
你可能会在这里得到答案:stackoverflow.com/questions/246977/…
-
data[1]和data[0]有什么区别?
-
int data[1] 表示名为 data 的 int 数组的大小为 1 int。但是当你必须访问它时,你必须访问数组的第一个(也是唯一一个)元素,然后你会做这样的事情:myHelloStruct.data[0]=200(这是一个例子)。