我公司拥有一批阵列创建二维数组的数组
double foo[][2] = { {1.0,3.0}, {2.6,10.0}, {0.0,0.0} };
double bar[][2] = { {1.4,3.2}, {2.1,9.9}, {2.1,9.9}, {2.1,9.9}, {0.0,0.0} };
因此,这些都是类型:
double (*)[2]
我要让这些数组,所以我需要声明一个数组类型的指针数组的[2]
double ((*array)[2])[] = {foo, bar};
此语法不工作 - 这可能做到这一点在C.
我也试图创建一个类型,但是这并没有工作,要么:
typedef double *mytype[2] ;
mytype array[] = {foo, bar};
外阵列尺寸可以暗示。这不是我看到它正在创建一个数组与第一个元素foo和第二个酒吧的问题。 – Callum 2010-09-03 13:29:58
这两种类型是不同的,所以你不能拥有一个拥有两者的数组。所以隐含大小不同的事实是非常重要的。无论如何,我提交的代码编译并运行。 – 2010-09-03 13:35:36
它确实有效。它不是纯粹用于查找数组[0] [2] [0]值的指针运算。数组[0]衰变为foo:so foo [2] [0]。 – Callum 2010-09-03 13:48:09