我公司擁有一批陣列創建二維數組的數組
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