谁能教我pascal的指针

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:02:24
谁能教我pascal的指针

怎么说呢。平常的变量里面都是数值,指针是地址而不是具体的数值。举例来说吧。变量呢是一个房间的号码,这个里面有多少人。查看这个房间就可以了。但指针不行。虽然你看到也是用房间号码表示出来的。但实际是查看房间的时候看不到有多少人。而是看到的另外一个房间的号码。通过这个号码找到那个房间,才有可能看到房间里有多少人。不知道这样说你能否听懂,实在不行可以联系我。学过好久了。也许有些小错误。不过我想应该没错的,当初我理解还算比较号

11.1 指针

指针是通过地址来访问变量的一种特殊的数据类型,属于动态的数据结构,它可以在需要时产生,用完后则又可以取消或回收,以减少占用的内存空间。指针变量与其他类型的变量不同,它占有的不是数据,而是地址。
由于动态数据结构的变量是在程序执行过程中动态生成的,所以不能预先予以说明,无法预先给这些变量起名字,访问时也无法通过名字直接输出或显示,而只能用指针得到其地址,然后间接访问。

1、定义指针类型
在Turbo Pascal中,指针变量用来存放某个存储单元的地址,即指针变量指向某个存储单元。一个指针变量仅能指向某一种类型的存储单元,这种数据类型是在指针类型的定义中确定的,称为指针类型的基类型。指针类型定义如下:
类型名=^基类型名;
例如:type q=^integer;
var a,b,c:q;
说明:q是一指向整型存储单元的指针类型,其中"^"为指针符。a,b,c均定义为指针变量,分别可以指向一个整型存储单元。
上例也可用变量说明为:
var a,b,c:^integer;
指针也可以指向有结构的存储单元。
例如:type person=record
name:string[10];
sex:(male,female);
age:20..70
end;
var pt:^person;
pt为指向记录类型person的指针变量。
2、动态变量
应用一个指针指向的动态存储单元即动