结构体语法问题,请指教.谢谢!!

James_ht 2008-04-08 04:11:41
typedef struct _T_B
{
int received[256];
}TB;
typedef struct _T_ShiftService
{

// TB receivedTable[0x10];
TB *receivedTable;
}T_ShiftService;
T_ShiftService ServiceBuf[10];

void Test()
{
TB *receivedTable = NULL;
ServiceBuf[0].receivedTable = receivedTable;
// ServiceBuf[0]->receivedTable = receivedTable; 和上面有什么不同. 解译一下语法错误的原因.
}
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhp 2008-04-08
  • 打赏
  • 举报
回复
指针类型用->调用结构成员
对象类型用.调用结构成员
qmm161 2008-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sun420 的回复:]
指针类型用->调用结构成员
对象类型用.调用结构成员
[/Quote]
ZiSheng 2008-04-08
  • 打赏
  • 举报
回复
显然楼主把两个指针搞混了,一个是结构体指针,一个是结构体成员是个指针,只有是结构体指针时,才能用->,和你的成员是指针与否无关
liyuzhu_1984 2008-04-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 p0303230 的回复:]
C/C++ codeServiceBuf[0].receivedTable = receivedTable;// 这里的ServiceBuf[0]是对象
ServiceBuf[0]->receivedTable = receivedTable; ->要用指针 显然ServiceBuf[0]不是 换成&ServiceBuf[0]也许可以
[/Quote]
sun420 2008-04-08
  • 打赏
  • 举报
回复
指针类型用->调用结构成员
对象类型用.调用结构成员
lanmuyi 2008-04-08
  • 打赏
  • 举报
回复
ServiceBuf[0]是T_ShiftService类型,就要用ServiceBuf[0].使用结构中的变量;
如果ServiceBuf[0]是T_ShiftService *类型,就要用ServiceBuf[0]->
p0303230 2008-04-08
  • 打赏
  • 举报
回复
ServiceBuf[0].receivedTable = receivedTable;//  这里的ServiceBuf[0]是对象
ServiceBuf[0]->receivedTable = receivedTable; ->要用指针 显然ServiceBuf[0]不是 换成&ServiceBuf[0]也许可以

69,382

社区成员

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

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