Delphi中的指针类型

首先讲讲指针类型在delphi中是怎么定义的:

指针类型的定义语法

type

<指针类型标识符>=^<基类型>;

指针指向动态变量的类型是由^符后的基类型来标识,^符号也就是指针类型,而C++中是用*符号来表示指针类型.

举例说明

type

  student = record    //定义个记录类型,与c++中的结构类型类似

  name:string[8];

  number:integer;

  sex:(b,g);

  age:integer;

end;

  per = ^student;  //per是一个记录类型的指针类型结构

var

  p1,p2:per;  //p1,p2为指针类型,且p1,p2是个记录类型的动态变量

  r:^char;   //r指针变量是指向字符型的动态变量

 

指针类型的操作又是怎么样子的呢?举个简单的例子吧

type

  str = string[255];  //定一个长度为255字符串

  ptr = ^str;       //定义指针类型

var

  s:str;  //s是静态分配内存

  p:ptr;  //p是动态分配内存

  s:='hello';  

  p^:='hello';  //这里的^符号表示指针变量的访问。我们当然也可以这样用

  s:=p^;这里与上面一行等价

不知道你们会了吗?

p和p^这是什么意思?

p是一个4字节的指针变量,且是静态的存放的,它是动态变量的内存的首地址。

p^则是256字节字符串变量,且是动态存放的,它指向的数据可以随意更改。

今天就写这么多吧,希望大家继续关注我的微博,如果有什么错误,请指正~

posted @ 2014-09-29 21:06  Delphi爱好者2014  阅读(2316)  评论(0编辑  收藏  举报