首先讲讲指针类型在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字节字符串变量,且是动态存放的,它指向的数据可以随意更改。
今天就写这么多吧,希望大家继续关注我的微博,如果有什么错误,请指正~