请问高手这两句的区别(30分)

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
type<br> &nbsp;shareinfo=record<br> &nbsp;data:array [0..255] of Char;<br> &nbsp;end;<br> &nbsp;infopointer=^shareinfo;<br>var<br> &nbsp; infop:infopointer;<br><br>======================================================<br>CopyMemory(@(infop.data),info,Length(info));<br>=====================================================<br>CopyMemory(@(infop^.data),info,Length(info));<br>这两句就差一个“^”符号,而且我发现在执行程序时这两句的效果似乎是一样的。
 
这两句是一样的,但是不清楚为什么一样,等待高手解答。
 
Delphi编译器会自动将^加上,两种写法实现的功能是一样的。说白了,编译器会自动纠错,一般访问指针所指向的对象我们都会加上^符号。
 
访问指针数据一般都要有^的,但是Delphi的编译器有自动识别的功能,如果不写^也能通过编译,不过建议还是写上,这样不是多一个字符少一个字符的问题,是一个好的习惯,毕竟写的代码不是给电脑看的,是给人看的,尽量保持规范是个好习惯.
 
接受答案了.
 
后退
顶部