是否有一个非常早期的 C“标准”,其中以下对于二维数组的定义是合法的?
int array[const_x, const_y];
int array2[2, 10];
我偶然发现了一些旧的遗留代码,它使用这个(而且只有这个)符号来表示多维数组。除了这种奇怪之外,代码是完全有效的 C(并且在当时设计得非常好)。
由于我没有找到任何在[,]
和之间转换的宏[][]
,并且我认为这不是一种恶作剧,似乎从前有一个接受这种符号的旧 C 编译器。还是我错过了什么?
编辑:如果有帮助,它适用于嵌入式微控制器(atmel)。从我的经验来看,嵌入式编译器在标准兼容性方面并不那么出名。
如果我将 all 更改[,]
为[][]
.