Sei sulla pagina 1di 1

Le STRINGHE

DEFINIZIONE: la STRINGA rappresenta l’insieme di uno o più caratteri.

Nel linguaggio C non esiste una tipologia di variabile specifica per le Stringhe, pertanto occorre gestire le
Stringhe tramite i Vettori con datatype char. Qui di seguito riporto un esempio di comando per la creazione
di un vettore char in cui memorizzare una stringa.

char parola[50]; (1)

In questo esempio il vettore si chiama ‘parola’ e contiene un massimo 50 elementi.

il carattere TERMINATOR
La peculiarità delle Stringhe è che esse devono avere obbligatoriamente un carattere detto ‘terminatore’, il
carattere NULL, rappresentato dal simbolo \0, che in byte assume il valore 00110000.

Tale carattere va ad aggiungersi in coda ai caratteri contenuti nella Stringa, pertanto uno degli elementi del
vettore DEVE essere riservato al carattere Terminatore NULL.

Questo significa che il numero di elementi del vettore che sono utilizzabili è dato dal numero totale di
elementi meno UNO. Così, ad esempio, se il numero di elemento del vettore in (1), ossia parola[50] è 50,
sono utilizzabili solo 49 elementi per memorizzare i caratteri costituenti la stringa, in quanto il 50° elemento
è il Terminatore NULL.

Quindi la stringa memorizzata in parola[50] non può essere più lunga di 49 caratteri.

Di seguito è possibile vedere il contenuto della memoria assegnata ad un vettore char contenente una stringa

Codice Variabile Indice Valore Indirizzo

char parola[7]; char 0 H 1022


1 E 1023
2 L 1024
3 L 1025
4 O 1026
5 \0 1027
6 1028

Le celle di memoria occupano indirizzi contigui, assegnati loro al momento della definizione del vettore.

Si può notare inoltre che il vettore contiene 7 elementi, che hanno un indice che va da 0 a 6. La stringa NON
occupa tutto lo spazio a disposizione nel vettore, perché occupa i 5 elementi che hanno indice che va da 0 a
4, ed al termine della stringa è presente il carattere Terminatore NULL (\0).

Si noti bene che il carattere Terminatore non è posto nell’ultimo elemento del vettore, ossia l’elemento con
indice più grande (in questo caso 6), ma immediatamente dopo l’ultimo carattere della stringa cioè in
corrispondenza della cella identificata dall’indice 5.

Prof. Donato Greco © 2020 Corso di Informatica Pag. 1 di 1