Utk*_*tav 8 c arrays
#include <stdio.h> int main() { int a[0],b[4][0]; printf("%d %d ",sizeof(a),sizeof(b)); } //output 0 0
有什么意义a[0],为什么还允许大小为0的2d数组?
a[0]
Ker*_* SB 9
C和C++都不允许零长度的数组,所以你的程序是不正确的.
(例如C++ 11,8.3.4/1:"[数组大小]应大于零".)
(作为一个基本原理:一个零长度的数组将是棘手的,并且混淆与每个对象具有唯一地址的要求相协调.)
正如@sidyll指出的那样,零长度数组可用作GCC中的扩展.
归档时间:
13 年,8 月 前
查看次数:
1442 次
最近记录: