关于PChar

小caib 2013-05-27 10:08:44
最近看到一段代码:PChar(Integer(maLFs)+(miCount-1)*sizeof(TCodTyp));
其中maLFs:PTCodTyp;PTCodTyp = ^TCodTyp;TCodTyp = array[0..6] of char;
这个是什么意思呢?能否详细讲一下?谢谢!很菜,不要喷。
...全文
58 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhz8000 2013-05-27
  • 打赏
  • 举报
回复
maLFs:PTCodTyp; PTCodTyp = ^TCodTyp; TCodTyp = array[0..6] of char; //sizeof(TCodTyp) = 7 字节 PChar(Integer(maLFs)+(miCount-1)*sizeof(TCodTyp)); 这个是maLFs 指向PTCodTyp 类型的指针;Integer(maLFs) 就是把指针转换为整型, 然后 加上(miCount-1) * sizeof(TCodTyp) 其实就是将指针移到最后一个TCodTyp 上面的第一个字节, 也就是TCodTyp【0】。
小caib 2013-05-27
  • 打赏
  • 举报
回复
引用 1 楼 xhz8000 的回复:
maLFs:PTCodTyp; PTCodTyp = ^TCodTyp; TCodTyp = array[0..6] of char; //sizeof(TCodTyp) = 7 字节 PChar(Integer(maLFs)+(miCount-1)*sizeof(TCodTyp)); 这个是maLFs 指向PTCodTyp 类型的指针;Integer(maLFs) 就是把指针转换为整型, 然后 加上(miCount-1) * sizeof(TCodTyp) 其实就是将指针移到最后一个TCodTyp 上面的第一个字节, 也就是TCodTyp【0】。
啊,懂啦,非常感谢!

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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