Un sir de carcatere este o succesiune de carcatere cuprinsa intre doua apostrofuri si poate sa contina orice carcatere:litere mari si mici, caractere speciale ('#','$',etc.) si delimitatori (virgula,spatiu,punct, etc.).
Un astfel de sir de carcatere cuprins intre apostrofuri poate fi memorat intr-o variabila de tipul predefinit string.La declararea unei variabile de tipul string putem preciza, intre paranteze patrate, lungimea maxima, adica numarul maxim de caractere al sirurilor ce pot fi memorate in variabila respectiva. Daca nu indicam lungimea maxima, atunci compilatorul va stabili lungimea maxima implicita de 255 de caractere.
Exemplu:
var s1:string[30]; {s1 poate memora maxim 30 de caractere}
s2:string; {s2 va memora maxim 255 caractere}
In urma declararii unei variabile de tip string, compilatorul Pascal aloca memorie pentru variabila respectiva sub forma unui vector de caractere. Ce se va intampla insa atunci cand in variabila se va memora efectiv un sir prin atribuire sau prin citire? Caracterele sirului vor ocupa pozitii consecutive in vector, incepand cu pozitia 1. Pot aparea urmatoarele situatii:
-daca lungimea efectiva a sirului (numarul efectiv de caractere) este mai mica decat lungimea maxima a variabilei (numarul maxim de caractere rezultat din declarare), atunci ultimele pozitii ale vectorului de caractere vor ramane neocupate.
- daca lungimea sirului e mai mare decat lungimea maxima, atunci sirul va fi trunchiat si se vor memora atatea caractere cate sunt declarate.
Exemplu
var s:string[7];
begin
s:='suport';
writeln(s);
s:='programare';
writeln(s);
end.
Acest exemplu va afisa:
suport
program
Sirul 'suport' e memorat in intregime deoarece are 6 caractere (6<7), pe cand sirul 'programare' va fi trunchiat memorandu-se doar primele 7 caractere.
Cam asta e tot despre sirurile de caractere (string). Nu e foarte complicat.