编译指令 PointerMath 默认 off; 打开后, 可以像数组一样地读写指针中的系列数据, 非常方便!
//测试整数指针 procedure TForm1.Button1Click(Sender: TObject); var p: 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); type TMyRec = record Name: string[12]; Age: Word; end; var p: ^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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2007-12-07 虚拟键码对照表
2007-12-07 相关网站链接
2007-12-07 获取当前系统版本号
2007-12-07 ASCII 码对照表
2007-12-07 属性的自动完成
2007-12-07 创建并调用 DLL(1)