C/Variabili, operatori e costanti/Stringhe
Wikibooks, manuali e libri di testo liberi.
Le stringhe in C sono considerate come un vettore di caratteri e non come tipo unico. Le stringhe C sono sempre concluse dal carattere nullo. Esistono inoltre delle funzioni nella libreria standard che operano su queste stringhe, prendendo come argomento il puntatore al primo carattere della stringa, ottenuto con il solo nome dell'array (si veda Interscambiabilità tra puntatori e vettori). Nel linguaggio C++, invece, la libreria STL definisce una classe string, più comoda da usare.
È possibile anche assegnare una stringa ad un puntatore ad un char. Però, in questo caso, più stringhe potrebbero andare in conflitto, perché, al contrario di un array, non è definita una lunghezza precisa. Il puntatore, in questo caso, punterà al primo carattere della stringa.
Esempio:
#include <stdio.h> #include <string.h> int main(void) { char *str1 = "Il linguaggio C mi piace molto."; char str2[50] = ""; strcpy(str2, str1); printf(str2); return 0; }
Questo programma creerà una stringa il cui primo carattere sarà puntato da str1 e la copierà in str2. Poi stamperà sullo schermo il contenuto di str2. La funzione strcpy è definita nella libreria <string.h>.

