Cum se declară un șir de caractere fără string?
Ca tablou de char cu un loc în plus pentru terminatorul nul: „char s[101];” ține un text de cel mult 100 de caractere. Se citește cu cin >> s sau cin.getline(s, 101).
Un șir de caractere este un tablou de char în care sfârșitul textului este marcat de un caracter special, '\0' (terminatorul nul):
char s[101]; // cel mult 100 de caractere, plus terminatorul
cin >> s; // un cuvânt, până la primul spațiu
cin.getline(s, 101); // o linie întreagă, cu spațiiRegula de dimensionare: dacă enunțul spune „cel mult 200 de caractere”, declari char s[201].
Lucrezi cu el prin funcțiile din <cstring>: strlen (lungimea), strcpy (copiere, pentru că șirurile nu se atribuie cu =), strcat (lipire), strcmp (comparare, pentru că șirurile nu se compară cu ==), strchr și strstr (căutare), strtok (tăiere în cuvinte).
Dacă construiești tu un șir caracter cu caracter, pune terminatorul la final: rez[k] = '\0';. Fără el, afișarea continuă cu ce se întâmplă să fie în memorie.
Tipul string nu este în programă și nu se punctează. Vezi întrebarea despre string și STL. Lecțiile Șiruri de caractere și Funcțiile din cstring acoperă restul.
Lecția care merge mai departe: Șiruri de caractere