免費Pascal支持PChar類型類型的Delphi實現的。PChar類型被定義為一個指針,指向一個字元類型,但允許額外的操作。PChar類型類型是可以理解的最好的Pascal相當於一個C-風格的以空結尾的字元串,即一個變數的類型PChar類型是一個指針,指向一個數組類型的字元,這是一個空字元結束(#0)。免費Pascal支持初始化PChar類型類型的常量,或直接轉讓。例如,下面的代碼片段是相同的:
program one;
var P : PChar;
begin
P := ’This is a null-terminated string.’;
WriteLn (P);
end.
結果相同於
program two;
const P : PChar = ’This is a null-terminated string.’;
begin
WriteLn (P);
end.
這些例子也表明,這是可能的內容寫入到一個檔案中的字元串類型的 文本。的字元串單元包含程式和PChar類型的類型進行操作的功能,在標準C庫。由於它是相當於一個指針的類型的字元變數,但也可以執行以下操作:
Program three;
Var S : String[30];
P : PChar;
begin
S := ’This is a null-terminated string.’#0;
P := @S[1];
WriteLn (P);
end.
與前兩個例子中,這將有同樣的結果。NULL結尾的字元串不能正常Pascal字元串添加。如果兩個PChar類型字元串必須被連線起來;從單元字元串的功能必須被使用。
然而,這是可以做一些指針的算術運算。“運營商+和-可以用來操作PChar類型的指針。表(3.5),P 和 Q的 類型PChar類型,和我的類型Longint型。
表3.5:PChar類型指針的算術運算
作業 | 導致 |
P + I | I 添加到P所指向的地址。 |
I + P | I 添加到P所指向的地址。 |
P - I | 基體上I從P所指向的地址。 |
P - Q | 為一個整數,返回,2個地址之間的距離 (或在P 和 Q 之間的字元的數量) |