目 录
1 DELPHI 的指针-引用 ................................................................................. - 1 -
2 delphi 的“引用/值”模型 .............................................................................. - 5 -
3 谈谈 Delphi 的类型与指针 .................................................................... - 13 -
4 Delphi 7 指针数据类型............................................................................ - 17 -
5 delphi 中的 Pchar 指针 ............................................................................. - 19 -
1 DELPHI 的指针-引用
大家都认为,C 语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因 此,说指针是 C 语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎 只有 C 语言的指针才能算指针。Basic 不支持指针,在此不论。其实,Pascal 语言本身也 是支持指针的。从最初的 Pascal 发展至今的 Object Pascal,可以说在指针运用上,丝毫不 会逊色于 C 语言的指针。
以下内容分为八个部分,分别是 一、类型指针的定义 二、无类型指针的定义 三、指针的解除引用 四、取地址(指针赋值) 五、指针运算
六、动态内存分配 七、字符数组的运算 八、函数指针
一、类型指针的定义。对于指向特定类型的指针,在 C 中是这样定义的:
int *ptr;
char *ptr;
与之等价的 Object Pascal 是如何定义的呢?
var
ptr : ^Integer;
ptr : ^char;
其实也就是符号的差别而已。
- 1 -
二、无类型指针的定义。C 中有 void *类型,也就是可以指向任何类型数据的指针。Object
Pascal 为其定义了一个专门的类型:Pointer。于是,
ptr : Pointer;