相关疑难解决方法(0)

大小为0的数组

今天我偶然定义了一个二维数组,其中一维的大小为0,但是我的编译器没有抱怨.我发现以下内容表明这是合法的,至少在gcc的情况下:

6.17长度零的数组

但是,我对这个用法有两个问题:

首先,这被认为是良好的编程习惯吗?如果是这样,那么我们何时应该在现实世界中使用它?

其次,我定义的数组是二维的,一维的0大小.这和一维情况一样吗?例如,

int s[0]
int s[0][100]
int s[100][0]
Run Code Online (Sandbox Code Playgroud)

它们在内存和编译器中都是一样的吗?

编辑:回复Greg:我使用的编译器是gcc 4.4.5.我对这个问题的意图不依赖于编译器,但是如果有任何编译器特定的怪癖也会有用:)

提前致谢!

c c++ arrays gcc

32
推荐指数
1
解决办法
3万
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

gcc ×1