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 00, se poate folosi ca '\0'). Acest caracter nul este necesar în memorarea internă pentru a marca exact unde se termină șirul de caractere.


Publicitate

Declararea șirurilor de caractere

Sintaxa declarării unui șir: char <nume_sir>[<max_caractere>];.

Unde,

  • char este 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.