首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >指向结构中2d数组的C指针

指向结构中2d数组的C指针
EN

Stack Overflow用户
提问于 2013-09-05 01:33:37
回答 2查看 85关注 0票数 1

我有一个带有二维数组的结构。我把指向这个结构的指针传递给一个函数,在那里我需要编辑2d数组。我很难从函数中找到正确的语法来引用2d数组。

代码语言:javascript
运行
复制
#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“的正确方法是什么?

EN

Stack Overflow用户

发布于 2013-09-05 01:37:03

最简单的可能有什么问题?

代码语言:javascript
运行
复制
sp->grid[1][2] = BLOCK_T;

如果您的函数中有许多数组访问,并且您认为这样做会更快(减少取消引用),并且希望对sp->grid进行筛选,那么我认为所有优化的C编译器都能很好地处理这个问题。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18626380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档