这应该非常简单,几个小时已经花了,但我仍然无法解决这个问题。
我只需要一个指向合并的2D数组的指针。
int a1[2][3] = {{1,2,3}, {4,5,6}};
int a2[4][3] = {{7,8,9}, {6,9,6}, {1,2,3}, {4,5,6}};
// This is fine
int (*p)[3] = a1;
// compilation error - incompatible types int[3] from type int (*)[3]
*(p + 2) = a2
我理解这个问题,但无法解决这个问题。
答案 0 :(得分:0)
你根本无法在C中分配数组,这就是语句*(p + 2)
试图做的事情:它解除引用p
一次,这导致三个数组整数(p
指的是什么),你不能为该数组分配任何东西。