我有一个带有二维数组的结构。我将指向这个结构的指针传递给一个函数,我需要在其中编辑二维数组。我正在努力寻找正确的语法来从我的函数中引用二维数组。
#define TG_WIDTH 10
#define TG_HEIGHT 20
typedef enum {
BLOCK_T = 0,
BLOCK_LINE,
BLOCK_SQUARE,
BLOCK_L,
BLOCK_L_REVERSE,
BLOCK_S,
BLOCK_S_REVERSE
} block_t;
typedef struct {
char y_max[TG_WIDTH];
block_t grid[TG_WIDTH][TG_HEIGHT];
} scratchpad_t;
bool
placeBlock(scratchpad_t *sp) {
block_t (*g)[TG_WIDTH] = sp->grid;
g[1][2] = BLOCK_T;
}
不过,这给了我一个“从不兼容的指针类型初始化”的警告。在这里定义/初始化“g”的正确方法是什么?