我遇到了这种语法:char *seats[14][7];
在ac程序中。我是指针的新手,有人可以解释为什么将二维数组声明为指针以及它有什么用吗?
这是无效的代码-编译器错误。
因为严格来讲C没有2D数组,所以它只有数组(数组...)的数组。在这种情况下,您声明了一个不完整大小的数组,其中,每个项目都是一个int* []
不完整大小的数组。C标准(6.7.6.2)不允许此类项目不完整。
如果将代码更改为,int* [x][y]
则它是一个大小数组,其中x
包含int* [y]
作为项目的数组,其中每个此类项目都是一个y
指针大小为整数的数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句