我有一個指向位於C中的結構的2d數組的指針存在問題。代碼運行但我收到編譯錯誤,無法理解如何擺脫它。如何將指針分配給C中的二維數組?
首先,結構
typedef struct{
double (*cases)[9];
} myStruct;
我再聲明類型myStryct的結構和排列在我的主要程序,並嘗試設置指針在我的結構,在這個陣列指向:
myStruct a;
double myArray[5][9] = {
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
{0, 1, 2, 3, 4, 5, 6, 7, 8},
}
a.cases = &myArray;
程序運行罰款,我可以通過指針訪問元素,但我得到一個編譯錯誤: 警告:從兼容的指針類型分配。這裏有什麼問題?
你張貼實際的代碼?爲什麼'myArray'缺少一種類型? – 2013-04-11 09:41:53
這可能會幫助你 - http://stackoverflow.com/questions/15207888/pointer-to-2d-struct-array-c – 2013-04-11 09:42:54
也請參閱這一個 - http://stackoverflow.com/questions/6770507/assign-to -2d-array-a-2d-array-in-a-struct – 2013-04-11 09:43:39