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 *"
程序大致就是这样定义的,不知道该怎么改,卡了好久,请大家帮帮忙,谢谢。
把&去掉,因为你穿入的参数多了一维
自顶,以前这么用过结构体中含有一维数组的,没出错。是结构中含有的二维数组所以出错吗?请大家指教。谢谢
```void abcd(Data data)
{
data->z[0][0]=3;
}
和
void efgh(Data data)
{
data->z[1][1]=2;
abcd(&data);//出错
}
所以,你把这两个函数中的“->”换为“.”来访问结构体中的成员,就不会出错了;
2.“u8”什么类型?我想应该是
typedef int u8;