只需一步,快速开始
58
112
717
版主
假设pResDir 是一个结构体指针,pResDir + 1 和 (字节型*)pResDir + 1 的结果不一样,是因为这两者之间存在类型转换和指针算术运算的差异。 pResDir + 1: 在这个表达式中,pResDir 是一个结构体指针,它的数据类型是某个结构体类型。 当你对pResDir进行加1操作时,实际上是在执行指针算术,将指针移动到下一个结构体的大小。 也就是说,pResDir + 1 会将pResDir指向的地址加上结构体的大小,然后指向新的地址。 (字节型*)pResDir + 1: 在这个表达式中,pResDir被强制转换为字节型*类型,也就是BYTE*或char*。 当你对(字节型*)pResDir进行加1操作时,你实际上是在执行字节级别的指针算术,将指针移动一个字节。 也就是说,(字节型*)pResDir + 1 会将pResDir指向的地址加上1,然后指向新的地址。 因此,pResDir + 1 和 (字节型*)pResDir + 1 的结果不一样,因为它们进行的是不同级别的指针算术。前者是基于结构体的大小,后者是基于单个字节。 如果你想按字节移动指针,你应该使用(字节型*)pResDir + 1。如果你想按结构体的大小移动指针,你应该使用pResDir + 1。根据你的需求,选择适当的方式。
您需要 登录 才可以下载或查看,没有账号?立即注册
举报
68
369
1635
管理员
18
45
300
中级会员
5
6
116
注册会员
14
22
319
0
100
894
高级会员
本版积分规则 发表回复 回帖后跳转到最后一页
|Archiver|手机版|小黑屋|炫语言 | 炫彩界面库 | 用户所需, 正是我所做! ( 鄂ICP备2023014763号-1 )
GMT+8, 2025-5-24 22:29 , Processed in 0.087508 second(s), 21 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.