delphi指针简单入门_第1页
delphi指针简单入门_第2页
delphi指针简单入门_第3页
delphi指针简单入门_第4页
delphi指针简单入门_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、懂得遗忘的人找到自由,懂得关怀的人找delphi指针简单入门.txt懂得放手的人找到轻松,懂得遗忘的人找到自由,懂得关怀的人找到幸福!女人的聪明在于能欣赏男人的聪明。生活是灯,工作是油,若要灯亮,就要加油!相爱时,飞到天边都觉得踏实,因为有你的牵挂;分手后,坐在家里都觉得失重,因为没有了方向。delphi指针简单入门:看一个指针用法的例子:1var2X,Y:Integer;/XandY整数类型3P:Integer;/P指向整数类型的指针4begin5X:=17;/给X赋值6P:=X;/把X的地址赋给p7Y:=P;/取出p所指向的数值赋给y8end;第二行定义了两个变量X,y.第三行声明了p是指

2、向整数类型的指针;意味着p能够指向x或者y的地址.第五行赋给x值,第六行把x的地址赋给p.最后通过p指向的变量赋值给y.此时,x和y有相同的值.操作符用来取出变量的地址,也可以取出过程和函数的地址.而符号有两个目标,当它出现在类型定义的前面时如当它出现在指针变量后边时typename表示指向这种类型的指针如point返回指针指向的变量的值理解指针比较容易理解面向对象的分配大的内存空间的类型可以用指针类型pascal语言,因为指针经常在幕后操作.例如.任何要求动态,long-string变量,实际在使用指针进行操作.另外一些高级的编程技术需要使用指针类型.有时指针是适应objectpascal严

3、格的类型限制的唯一方法.同过一个通用的指针类型通过类型转换成不同的指针类型,如下面的例子:typebeginPPI:=Pinteger=Integer;beginPPI:=varR:I:P:PI:Single;Integer;Pointer;/通用的指针PInteger;R;/取出R的内存地址PInteger(P);/把通用类型转换成指向整数类型的指针PIPIend;当然了,实数和整数的存储格式不同.这种赋值是把原始的二进制数据从ROODI,而不进行转换保留字nil是一个特殊的常量可以赋给任何指针类型,当n订赋給一个指针时,指针什么也不指向,是一个空指针操作符返回变量的内存中的存储地址如果变量

4、操作符返回变量的内存中的存储地址如果变量,X返回的是指针,如果编译选项打开了针.如果是例程(过程函数当用在类的方法中时,或者是过程x的地址。如果编译选项,着返回的是X的类型对应的指),F返回的是F的入口点,则方法的名称必须有类名函数方法;$T没有打开,着返回的事一个通用的F的类型是一个指针。,例如TMyclass.Dosomething指针指向TMyclass的dosomething方法。当一个过程变量在赋值语句的左边时,编译器期望一个过程值在赋值语句的右边。这种赋值使得左边的变量可以指向右边定义的过程或者函数入口点。换句话说,可以通过该变量来引用声明的过程或者函数,可以直接使用参数的引用。v

5、arF:function(X:Integer):Integer;I:Integer;functionSomeFunction(X:Integer):Integer;F:二SomeFunction;/给f赋值I:=F(4);/调用所指向的函数在赋值语句中,左边变量的类型决定了右边的过程或者方法指针解释。varF,G:function:Integer;I:Integer;functionSomeFunction:Integer;F:二SomeFunction;/给f赋值G:=F;/I:=G;/第一句获得函数的入口,第二句将指针复制,第三句获得函数的返回值。有时候还可以这样使用ifF=MyFunct

6、ionthen.;在这里,F的出现导致一个函数调用;编译器调用比较结果。这个规则是无论何时一个过程变量(proceduralvariable)出现在一个表达式中,F指向一个过程(没有返回值),或者f0000000数的函数,则前面的语句会产生一个编译错误。要比较ifF=MyFunctionthen.;F0F转换成一个包含地址的无类型的指针变量获得一个过程变量的内存地址使用操作符通常把一个无类型的指针值赋给一个过程变量,例如:varStrComp:function(Str1,Str2:把F的值拷贝给G调用函数F00的函数,然后调用Myfunction,它表示调用所指向的函数或者过程。有时F和Myfunction需要用,myfunction返回myfunction的地址。例如,F返回FOOD。PChar):Integer;StrComp:=GetProcAddress(KernelHandle,lstrcmpi);调用GetProcAddres函数,用strcomp指向这个值任何过程变量可以赋成nil,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论