求解有关一句结构体和数组指针的代码解释

2019-07-15 11:43发布



MsgHeadDef_t *ptempMsgHead = (MsgHeadDef_t *)(sSendDataBuf + 1);
MsgHeadDef_t        是一个结构体
sSendDataBuf 是一个数组,
请问这句话是什么意思?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
相畏7788
1楼-- · 2019-07-15 13:34
应该是个指针数组,把你创建的结构体指针放入指针数组的第二位
pengbiao1210
2楼-- · 2019-07-15 18:15
相畏7788 发表于 2017-3-12 10:50
应该是个指针数组,把你创建的结构体指针放入指针数组的第二位

这意思是将结构体里的第一个参数赋值给sSendDataBuf [1],然后结构体的第二个参数复制给sSendDataBuf [2]?
(MsgHeadDef_t *)(sSendDataBuf + 1);我知道这一句是强制转换数组为MsgHeadDef_t 指针 ,它的意义是什么呢
*ptempMsgHead是一个结构体指针 那么ptempMsgHead就表示为MsgHeadDef_t 里的内容吗
相畏7788
3楼-- · 2019-07-15 22:01
pengbiao1210 发表于 2017-3-12 12:06
这意思是将结构体里的第一个参数赋值给sSendDataBuf [1],然后结构体的第二个参数复制给sSendDataBuf [2]?
(MsgHeadDef_t *)(sSendDataBuf + 1);我知道这一句是强制转换数组为MsgHeadDef_t 指针 ,它的意义是什么呢
*ptempMsgHead是一个结构体指针 那么ptempMsgHead就表示为MsgHeadDef_t 里的内容吗 ...

应该是用ptempMsgHead这个结构体指针保存指针数组中sSendDataBuf [1]的地址,这样以后调用ptempMsgHead这个指针就可以操作结构体里面的内容,结构体里的参数是用->这个符号来用的吧
pengbiao1210
4楼-- · 2019-07-16 03:36
相畏7788 发表于 2017-3-12 12:40
应该是用ptempMsgHead这个结构体指针保存指针数组中sSendDataBuf [1]的地址,这样以后调用ptempMsgHead这个指针就可以操作结构体里面的内容,结构体里的参数是用->这个符号来用的吧

那么改变结构体的内容 数组里面的内容也会改变是吧
相畏7788
5楼-- · 2019-07-16 08:11
 精彩回答 2  元偷偷看……

一周热门 更多>