{$POINTERMATH ON} 方便指针操作的编译指令
2024-05-22 01:02:24
编译指令 PointerMath 默认 off; 打开后, 可以像数组一样地读写指针中的系列数据, 非常方便!
//测试整数指针 procedure TForm1.Button1Click(Sender: TObject); varp: PInteger;i: Integer; begin {$POINTERMATH ON}//写入 p := GetMemory(SizeOf(Integer) * 4);p[0] := 11;p[1] := 22;p[2] := 33;p[3] := 44;//读取 ShowMessageFmt('%d, %d, %d, %d', [p[0], p[1], p[2], p[3]]); {$POINTERMATH OFF}//之前有时会这么麻烦 ShowMessageFmt('%d, %d, %d, %d', [p^, PInteger(Integer(p) + SizeOf(Integer) * 1)^,PInteger(Integer(p) + SizeOf(Integer) * 2)^,PInteger(Integer(p) + SizeOf(Integer) * 3)^]);FreeMemory(p); end;//测试结构体指针 procedure TForm1.Button2Click(Sender: TObject); typeTMyRec = recordName: string[12];Age: Word;end; varp: ^TMyRec; begin {$POINTERMATH ON}p := GetMemory(SizeOf(TMyRec) * 2);//写入 p[0].Name := '张三';p[0].Age := 11;p[1].Name := '李四';p[1].Age := 22;//读取 ShowMessageFmt('%s, %d', [p[0].Name, p[0].Age]);ShowMessageFmt('%s, %d', [p[1].Name, p[1].Age]);FreeMemory(p); {$POINTERMATH OFF} end;
转载于:https://www.cnblogs.com/xiongyingfeixiang/archive/2011/12/01/2270183.html
最新文章
- (每日一题)CF1139D Steps to One 2021年天梯赛 L3-3 可怜的简单题(期望,莫比乌斯反演,杜教筛)
- TP 框架实现支付宝接口功能
- 一文详解激光雷达感知方案
- iOS PUSH功能图文教程链接
- go语言基础到提高(9)-go ide
- ant build里如何指定classpath
- webassembly_WebAssembly的设计
- Python中提供的各种队列结构
- 基于苹果自研芯片的 Mac 电脑对安全意味着什么?
- 开放源码的.NET 反编译工具 .NET IL调试工具 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐...
- ELman神经网络matlab实现
- 初中英语语法(006)-特殊疑问句·祈使句·感叹句
- 微信支付消费者投诉消息推送接入企业微信群
- ADC相关参数之---INL和DNL
- Windows下磁盘配额的使用量问题
- iOS-监听UITextView、UITextField键盘删除键
- 越狱苹果手机导出网易云音乐歌曲(以及缓存文件转换)
- JS —— 5、数据交互、跨域
- 多级列表为“第一章”下产生含“阿拉伯数字章节号”的题注(word题注自定义)
- delphi 操作excel(全)
热门文章
- 比特币 POW 白皮书 区块篡改成功的概率计算详解
- alians mysql_Linux学习——Shell基础
- Web(4)servlet
- linux编写设备驱动 编译成ko文件 重新编译内核,Linux内核驱动将多个C文件编译成一个ko文件的方法——每一个C文件中都有module_init与module_exit...
- 计算机秘密程序 听课反思,《编制计算机程序解决问题》的教学反思
- mysql utf8转gbk cmd_修改xampp的mysql数据库utf8mb4为gbk以解决cmd内中文显示为问号
- LayaAr 批量加载资源 LoaderManager
- Spring Boot_打造企业级微信点餐系统_汇总贴
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_4_字节输出流写入数据到文件...
- scrapy框架持久化存储