Object Pascal,因为经Pointer)I,并不是实际转换。 New和GetMem过程把一个内存地址
这使得处理更容易,- 63 -
的二进制数据赋给
时,
Data types, variables and constants
在Pointer类型变量的后面使用^运算符会引发编译错误。要访问一个Pointer类型引用的变量,首先把它转换为其它指针类型,然后再解除引用。
Character pointers(字符指针)
基本(fundamental)类型PAnsiChar和PWideChar分别表示AnsiChar和WideChar值的指针,一般(generic)类型PChar表示一个指向Char的指针(在当前实现中,它表示AnsiChar)。这些字符指针用来操纵零结尾字符串(参考Working with null-terminated strings)。
Other standard pointer types(其它标准指针类型) System和SysUtils单元定义了许多常用的标准指针类型:
Pointer type
PByteArray Points to variables of type TByteArray (declared in SysUtils). Used to typecast dynamically allocated memory for
array access. PAnsiString,PCurrency,PDouble, Currency,Double,Extended,Single
PExtended,PSingle
PTextBuf
PVarRec TTextBuf (declared in SysUtils). TTextBuf is the internal buffer type in a TTextRec file record.) TVarRec (declared in System)
PWordArray TWordArray (declared in SysUtils). Used to typecast dynamically allocated memory for
arrays of 2-byte values.
Procedural types(过程类型)
Procedural types: Overview(概述)
过程类型允许你把过程和函数作为“值”看待,它可以赋给变量或传给其它过程和函数。比如,假设你定义了一个叫做Calc的函数,它有两个整型参数并返回一个整数值:
function Calc(X,Y: Integer): Integer;
你可以把Calc函数赋给变量F:
var F: function(X,Y: Integer): Integer;
F := Calc;
我们只取过程或函数头(heading)并把procedure或function后面的标志符去掉,剩下的就是过程类型的名称。你可以在声明变量时直接使用这样的名称(就像上面的例子一样),也可以声明新类型: type
TIntegerFunction = function: Integer;
- 64 -
Data types, variables and constants
TProcedure = procedure;
TStrProc = procedure(const S: string);
TMathFunc = function(X: Double): Double;
var
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-44.html
你马云没错
狭路相逢勇者胜
美照再一发