有个符号不明白什么意思 PDWORD(@buffer[18])^:=col; ^是什么意思? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 xiexie!上面那句翻译成c就是 buffer[18]=col; 否? PDWORD(@buffer[18])^:=col先取出buffer[18]的地址,然后进行强制类型转换,最后将这个地址中的量取出,并将这个量的值设置为col其中的^表示的是取指针内容的意思,实际上就是解除指针的引用,对于一个指针,解除指针的引用在C中的语法是:(*Ptr) 在OP中的语法是:Ptr^ 贴完整点var col: DWORD;buffer: array[0..255]of char;beginPDWORD(@buffer[18])^:=col;end;我再请教2个问题,DELPHI里指针长度是否固定为DWORD,PDWORD(@buffer[18])^:=col;既然是对量俯值那会不会丢失精度? 还有DELPHI的PDWORD(@buffer[18])^:=col;和C的*(buffer+18)=col; 是不是一个意思? DELPHI中所有指针的长度都是4字节的32位!应该不会丢失精度,你要知道pdword(@buffer[18])这是一个指针啊 ,只有对指针才能使用^运算符哦。你这里不应该考虑精度丢失的问题,因为这和指针的长度没有关系,如果指针中保存的地址值是1000,而在内存中1000这个位置上的值将被赋予col这个值。至于C中的表示方法,我记忆的不太清楚了,不敢枉下结论,你最好看看资料 delphi中怎么实现多行注释? 关于从其它窗口动态创TABSHEET到主窗口问题,急急急,在线等!!! 日期时间分离出日期 为什么Delphi编写的COM组件在其它语言里不能调用? 有点难度:关于手动关闭ADO数据库的问题! Access加密了,该怎么办? 看看这个问题,关于指针的。 通过这个handle来获得 该控件的name 谁知道在DB2中怎么把文件存入Blob字段中!急! 用 delphi5 做 Activeform 请问,怎么创建一个窗体的多个复本啊,并在需要时呼唤至前台 这段存储过程怎么写?如果SQL-server的数据库中不存在数据表A就建立它.
上面那句翻译成c就是 buffer[18]=col; 否?
在OP中的语法是:Ptr^
buffer: array[0..255]of char;
begin
PDWORD(@buffer[18])^:=col;
end;我再请教2个问题,DELPHI里指针长度是否固定为DWORD,PDWORD(@buffer[18])^:=col;既然是对量俯值那会不会丢失精度?
PDWORD(@buffer[18])^:=col;和C的
*(buffer+18)=col; 是不是一个意思?
pdword(@buffer[18])这是一个指针啊 ,只有对指针才能使用^运算符哦。
你这里不应该考虑精度丢失的问题,因为这和指针的长度没有关系,如果指针中保存的地址值是1000,而在内存中1000这个位置上的值将被赋予col这个值。至于C中的表示方法,我记忆的不太清楚了,不敢枉下结论,你最好看看资料