什么时候用"."什么时候用"->" ?

freeman_madcat 2007-11-16 03:51:12
typedef unsigned char BYTE;

typedef struct IF_STATUS {
BYTE a;
BYTE b;
BYTE c;
}IF_STATUS;

typedef struct DEVICE_STATUS {
BYTE u;
IF_STATUS IfStatus[3];
}DEVICE_STATUS;

DEVICE_STATUS gDev;

void main(void)
{
gDev.IfStatus->a=77;
printf("%d\n",gDev.IfStatus->a);
}

printf("%d\n",gDev.IfStatus->a);处为什么一定要用"->"?用"."编译报错。
不太明确。
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
allen0228 2007-11-16
  • 打赏
  • 举报
回复
和三楼的理解一样
andy_cai 2007-11-16
  • 打赏
  • 举报
回复
指针用->,实体用“.”,只记得这个了。
很偷懒的,有时用错了就改过来了事
freeman_madcat 2007-11-16
  • 打赏
  • 举报
回复
多谢!
Treazy 2007-11-16
  • 打赏
  • 举报
回复 1
>>gDev.IfStatus->a=77;

由于IfStatus是个数组,IfStatus就是这个数组第1个元素的指针
对于指针只能用->
上面还可以这样写,用点表示
gDev.IfStatus[0].a=77;

69,374

社区成员

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

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