西瓜太溜
2017-04-13 09:50
采纳率: 100%
浏览 2.3k
已采纳

请大家指点,c语言中,结构体作为形参传递且结构体中含有二维数组

typedef struct
{
u8 z[3][3];
}Data
void abcd(Data data)
{
data->z[0][0]=3;
}
/
*********************以上均没报错****************************/
void efgh(Data data)
{
data->z[1][1]=2;
abcd(&data);//出错
}
/
************************此句报错**************************************/
..\HARDWARE\CROSS\cross.c(83): error: #167: argument of type "
data **" is incompatible with parameter of type "data *"
程序大致就是这样定义的,不知道该怎么改,卡了好久,请大家帮帮忙,谢谢。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • .昊 《一起学习C语言》专栏作者 2017-04-13 11:23
    最佳回答

    把&去掉,因为你穿入的参数多了一维

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题