11.1 Định nghĩa xâu ký tự
Một xâu ký tự được định nghĩa bằng từ khoá String, theo sau là số ký tự cực đại
có thể có của xâu ký tự, được đặt trong ngoặc vuông.
String[n]; với n là độ dài cực đại của xâu.
Ví dụ 1: Type Xau1= String [10]; Xau2= String [40]; Var A:Xau1; B: Xau2;
Hay cũng có thể khai báo trực tiếp:
Var
A:String[10]; B:String[40];
Xâu ký tự chiếm số byte bằng số ký tự cực đại khi khai báo, cộng với một byte đầu tiên chứa số ký tự hiện có của xâu.
Ví dụ 2: Var a,b:String[15]; Begin a:='Tin hoc'; ... End.
Biến a khai báo ở trên được gán giá trị B: a:='Tin hoc';
a trong trường hợp này chỉ có độ dài 7 ký tự, mặc dù độ dài cực đại cho phép của
biến a là 15. Như đã nói ở trên, byte đầu tiên để biểu diễn độ dài xâu ký tự. Vìđộ
dài xâu ký tự được biểu diễn bằng một byte nên ta thấy ngay rằng độ dài xâu ký tự chỉ nằm trong khoảng từ 1 đến 255.
Người ta có thể hiểu String nh ư là một mảng ký tự có chỉ số chạy từ 0 đến độ dài cực đại, phần tử thứ 0 chứa độ dài thực của xâu. Song mảng ký tự có độ dài luôn
luôn không đổi.
Ta có thể truy nhập vào từng ký tự của một xâu ký tự với tên biến và chỉ số đặt
trong ngoặc vuông như khi truy nhập vào phần tử của mảng. Chỉ số này có thể
chạy từ 1 tới độ dài cực đại của xâu ký tự. Ví dụ:
Writeln(a[3]) sẽ cho chữ 'n' (*vì a:='Tin hoc'*)
Nếu vị trí ký tự đó nằm ngo ài độ dài thực của xâu thì phần tử đó của xâu không xác định. Vì vậy khi truy nhập vào từng phần tử của xâu ta cần phải kiểm tra
11.2 Các thao tác với xâu ký tự