Stringhe di caratteri In linguaggio C Stringhe Un
- Slides: 12
Stringhe di caratteri In linguaggio C
Stringhe Un insieme di caratteri in sequenza forma una stringa Alcuni linguaggi definiscono per le stringhe uno specifico tipo di dato e offrono metodi specifici per gestire valori di quel tipo. Il linguaggio C non fornisce un tipo di dato specifico per le stringhe che vengono trattate come array di caratteri. char nome. Studente[10];
Le stringhe in C char nome. Scuola[]=“Itis” nome. Scuola 0 I 1 t 2 i 3 s 4 /0 Nell’esempio viene dichiarato l’array di caratteri nome. Scuola e inizializzato con il valore “Itis”. Il numero di elementi dell’array è determinato dalla lunghezza della stringa più 1. L’elemento in più è necessario al linguaggio per memorizzare il carattere terminatore di stringa: , conosciuto come il carattere null.
Un esempio
Inizializzazione
Stringhe e … caratteri Attenzione alla differenza tra le seguenti dichiarazioni con inizializzazione. char nota = 'C'; che assegna alla variabile nota di tipo char il valore C char nota[] = "C"; che assegna all’array nota[] la stringa di due caratteri C Un carattere inserito tra apici singoli è trattato come un singolo carattere.
Selezione di un carattere … char nome. Scuola[] = ”Itis parma"; nome. Scuola[5] = ‘P’; L’assegnamento al sesto elemento di nome. Scuola del carattere P modifica la stringa che diviene “Itis Parma”. Il carattere terminatore consente di gestire le stringhe senza conoscerne a priori la dimensione.
Caratteri e codici ASCII In linguaggio C char nome. Scuola[] = ”Itis Parma"; int i=0; while(nome. Scuola[i]!=’ ’){ printf(“carattere %c ASCII %dn”, nome. Scuola[i]); i++; } … Il codice visualizza ogni elemento sia sotto forma di carattere che di codice ASCII
Esempio funzione che ritorna il numero di caratteri presenti in una stringa
Problema: concatenare due parole immesse dall’utente, aggiungendo la seconda alla prima e inserendo tra le due un carattere spazio. Input: due parole. Output: visualizzare la stringa frutto della concatenazione.
// Concatenazione di stringhe #include <stdio. h> int main() { char p 1[25], p 2[25], p 3[50]; //le tre stringhe int i, j; //indici per scorrere i caratteri printf("Inserisci la prima parola"); scanf("%s”, p 1); printf("Inserisci la seconda parola"); scanf("%s”, p 2); for(i=0; p 1[i]!='