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

请大家指点,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条)

报告相同问题?