Definirea șirurilor de caractere
Un șir de caractere este o structură de date ordonată ce conține caractere, la care ne referim prin intermediul poziției lor.
Șirurile de caractere sunt de fapt tablouri, iar fiecărui caracter memorat îi corespunde o anumită poziție în tablou.
În limbajul C++, un șir de caractere are ca ultim caracter o marcă de sfârșit de șir, corespunzătoare caracterului nul (are codul ASCII , se poate folosi ca '\0').
Acest caracter nul este necesar în memorarea internă pentru a marca exact unde se termină șirul de caractere.
Declararea șirurilor de caractere
Sintaxa declarării unui șir: char <nume_sir>[<max_caractere>];.
Unde,
chareste tipul de dată folosit pentru caractere, implicit pentru șiruri de caractere;<nume_sir>este numele (identificatorul) tabloului declarat;<max_caractere>este numărul maxim de caractere pe care îl va putea memora șirul (vom include și marca de sfârșit de șir în această limită!).
Exemple
char cuvant[21];
char s[] = "sir initializat"; // se aloca automat exact spatiul necesar
Declararea cu valoare implicită aplică automat caracterul nul (marca de sfârșit de șir) la finalul șirului.
Întrucât am evidențiat că șirurile sunt reprezentate tot ca niște tablouri unidimensionale, referirea la elementele șirului (caracterele individuale) se face la fel.
Astfel, pentru declararea char sir[11];, putem spune următoarele:
- se pot memora maxim 10 caractere (al 11-lea va fi caracterul nul);
- primul caracter se găsește în
sir[0]; - ultimul spațiu de memorie din șir este
sir[10](al 11-lea spațiu, deoarece indexarea elementelor se face de la 0).
Declararea globală a unui șir de caractere va face ca toate elementele din șir să fie inițial NULL (caracterul nul).
Declararea locală, asemănător pentru variabilele simple, va face ca pe pozițiile interioare să poată exista valori aleatorii.