//字符串與字符數組var
arr: array[0..5] of Char;
str: string;
begin
{可以把字符串常量直接賦給字符數組; 但超界不行}
arr := 'Delphi';
ShowMessage(arr); {Delphi}
{可以把字符數組直接賦給字符串變量}
str := arr;
ShowMessage(str); {Delphi}
{但不能把一個字符串變量賦給字符數組}
//arr := str; {錯誤}
{其實字符串內部也是包含了一個字符數組, 所以能索引訪問, 不過它的索引起始於 1}
ShowMessage(str[1]); {D}
ShowMessage(arr[0]); {D}
end;
//字符指針與字符數組
var
arr: array[0..6] of Char;
p: PChar;
begin
arr := 'Delphi';
{如果直接把字符數組給字符指針, 結果不保險, 因為字符指針要找空字符(#0)結束}
{把數組的最後一個元素給 #0 就可以了}
arr[Length(arr)-1] := #0;
p := arr;
ShowMessage(p); {Delphi}
{假如把 #0 給到中間會怎樣?}
arr[3] := #0;
p := arr;
ShowMessage(p); {Del; 給截斷了}
end;
//字符串常量 > 字符數 組常量
const
arr1: array[0..5] of Char = 'Delphi';
arr2: array[0..5] of AnsiChar = AnsiString('Delphi');
begin
ShowMessage(arr1[0]); {D}
ShowMessage (arr2[0]); {D}
end;