关于typedef的一个问题~急求答案

熊国明 2009-02-09 04:19:28
//定义结构
struct SDw
{
char des[4];
char src[4];
};
typedef SDw SJDW;
typedef SDw TBDW;
//处理函数
void PaseAddr(SDw* addr,char* code)
{
DoSomething();
}
//下面调用上面的函数
SJDW dw1;
TBDW dw2;
char unitcode[4];
PaseAddr(dw1,unitcode);
PaseAddr(dw2,unitcode);
//编译时出错,提示不同结构类型之间不能转换.
...全文
86 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
diamond1983 2009-02-09
  • 打赏
  • 举报
回复
6 楼正解,up
waizqfor 2009-02-09
  • 打赏
  • 举报
回复

void PaseAddr(SDw* addr,char* code)//因为这里定义的是指针 所以要传递的是地址
{
DoSomething();
}

PaseAddr(&dw1,unitcode);//这里要用&符号取地址 因为后面那个是数组 本身就是一个地址 所以不需要&
PaseAddr(&dw2,unitcode);// 同上

yellowhwb 2009-02-09
  • 打赏
  • 举报
回复

//定义结构
struct SDw
{
char des[4];
char src[4];
};
typedef struct SDw SJDW;
typedef struct SDw TBDW;
//处理函数
void PaseAddr(SDw* addr,char* code)
{
return;
}
int main()
{
SJDW dw1;
TBDW dw2;
char unitcode[4];
PaseAddr(&dw1,unitcode);
PaseAddr(&dw2,unitcode);
system("pause");
return 0;
}
chenqiang35 2009-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lidongxy 的回复:]
PaseAddr(&dw1,unitcode);
PaseAddr(&dw2,unitcode);
应该传地址
[/Quote]
up
同时也up2楼
再up一下四楼
tnfyj 2009-02-09
  • 打赏
  • 举报
回复
void PaseAddr(SDw* addr,char* code)
{
DoSomething();
}

1:第一个参数声明为 struct SDw *
2:调用的时候传地址, 如上面几楼所说~
ARLENE_YANG 2009-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lidongxy 的回复:]
PaseAddr(&dw1,unitcode);
PaseAddr(&dw2,unitcode);
应该传地址
[/Quote]

up
lidongxy 2009-02-09
  • 打赏
  • 举报
回复
PaseAddr(&dw1,unitcode);
PaseAddr(&dw2,unitcode);
应该传地址
lidongxy 2009-02-09
  • 打赏
  • 举报
回复
PaseAddr(&dw1,unitcode);
PaseAddr(&dw2,unitcode);
应该传地址

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧