In C le stringhe sono gestiti tramite un tipo chiamato “char”. “char” definisce un carattere. A differenza di python in cui ad esempio andavamo a definire le stringhe come un tipo vero e proprio, in C, abbiamo il carattere come tipo.
Questo programma come si può vedere stampa il carattere “A”.
Ma cos’è un char di preciso? Un char in realtà è un intero piccolo. Se proviamo infatti a stampare come intero il carattere c, non ci da alcun problema.
Ci stampa “A”, ma anche 65… Ma cos’è il 65? Il 65 è l’intero che, se convertito in carattere, ci da il carattere “A”. Questo tipo di codifica che associa ad ogni carattere un intero è la cosidetta codifica ASCII.
Ad esempio il carattere “A” corrisponde all’esadecimale “41”, che se convertito in intero, è il numero “65”.
Le stringhe: array di caratteri.
Dunque le stringhe non sono altro che array di caratteri.
Come possiamo vedere, per stampare una stringa abbiamo usato il placeholder “%s”…
Un altro modo equivalente per dichiarare una stringa sarebbe stato quello di specificare ogni elemento dell’array singolarmente, tipo:
Anche questo funziona uguale.
ricordate però che quando si parla di char si usano gli apici singoli 'c' mentre quando si parla di stringhe si usano apici doppi "ciao"