硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2045|回复: 8
收起左侧

求教一个用法?

[复制链接]

36

主题

142

回帖

250

积分

高级会员

积分
250
发表于 2018-10-16 14:57:50 | 显示全部楼层 |阅读模式
typedef struct
{
        Uint16 a;                // 帧头
        Uint16 b;                //        
}SCI_LOCK,*PSCI_LOCK;
PSCI_LOCK pID;
pID = (PSCI_LOCK)Buff;
这句话就怎么把Buff和pID关联的,不懂 ,有知道的麻烦告诉声

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2018-10-17 01:38:47 | 显示全部楼层
这个就是简单的强制类型转换吧。
回复

使用道具 举报

36

主题

142

回帖

250

积分

高级会员

积分
250
 楼主| 发表于 2018-10-17 14:35:40 | 显示全部楼层
eric2013 发表于 2018-10-17 01:38
这个就是简单的强制类型转换吧。

(Uint16*)pID+1,他在之后的应用有这么一句话,这个+1 代表什么意思 没懂
回复

使用道具 举报

36

主题

142

回帖

250

积分

高级会员

积分
250
 楼主| 发表于 2018-10-17 15:05:43 | 显示全部楼层
eric2013 发表于 2018-10-17 01:38
这个就是简单的强制类型转换吧。

(Uint16*)pID+1,Pid指针变量是加了两个字节啊 (还是四个字节啊)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2018-10-18 12:08:03 | 显示全部楼层
老虎的菜 发表于 2018-10-17 15:05
(Uint16*)pID+1,Pid指针变量是加了两个字节啊 (还是四个字节啊)

这个地方要特别注意,他每次加1,就是一个sizeof (PSCI_LOCK )的大小。
回复

使用道具 举报

36

主题

142

回帖

250

积分

高级会员

积分
250
 楼主| 发表于 2018-10-19 08:13:57 | 显示全部楼层
eric2013 发表于 2018-10-18 12:08
这个地方要特别注意,他每次加1,就是一个sizeof (PSCI_LOCK )的大小。

懂了 非常感谢硬汉
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2018-10-20 02:03:16 | 显示全部楼层
老虎的菜 发表于 2018-10-19 08:13
懂了 非常感谢硬汉

回复

使用道具 举报

3

主题

105

回帖

114

积分

初级会员

积分
114
发表于 2019-3-18 13:33:42 | 显示全部楼层
老虎的菜 发表于 2018-10-19 08:13
懂了 非常感谢硬汉

挖坟了!你真的懂了吗?好奇怪坛主这个错误的回答你是怎么懂的?
事实上你的问题中(Uint16*)pID+1就相当于((Uint16*)pID)+1,这明显是使指针变量跨了2字节;而坛主说是sizeof(PSCI_LOCK)个字节,很明显是错的!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2019-3-18 15:19:54 | 显示全部楼层
公仆 发表于 2019-3-18 13:33
挖坟了!你真的懂了吗?好奇怪坛主这个错误的回答你是怎么懂的?
事实上你的问题中(Uint16*)pID+1就相当 ...



的确是这样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-20 03:59 , Processed in 0.193807 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表