我在将指针分配给位于 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;
程序运行良好,我可以通过指针访问元素,但出现编译错误:警告:来自兼容指针类型的赋值。这里有什么问题?