In questo articolo spiegheremo cosa sono le stringhe in C, come vengono dichiarate e come implementarle nella programmazione C.
Cosa sono le stringhe nella programmazione in C?
Le stringhe sono gli array unidimensionali terminati da nullo \0 carattere. Sono utilizzati per memorizzare caratteri e testi e ogni carattere nella stringa occupa un byte della memoria. A differenza degli altri linguaggi di programmazione, C non ha il nome del tipo di dati come stringa, invece di questo, memorizzi i dati nel file tipo di carattere.
Come dichiarare le stringhe nella programmazione C?
Nella programmazione C, puoi dichiarare una stringa usando i seguenti metodi:
È possibile assegnare una stringa con una dimensione predefinita. Ad esempio, una stringa con una dimensione massima di 8 caratteri dovrebbe essere dichiarata come:
char test [ 8 ] = 'Benvenuto' ;
Un altro metodo per assegnare una stringa in C è senza definire la dimensione dell'array:
char test [ ] = 'Benvenuto' ;
Puoi anche assegnare una stringa usando un array di caratteri con una dimensione definita:
char test [ 8 ] = { 'IN' , 'È' , 'io' , 'C' , 'O' , 'M' , 'È' , ' \0 ' } ;Oppure puoi assegnare una stringa a un array di caratteri inizializzandolo carattere per carattere senza una dimensione definita:
char test [ ] = { 'IN' , 'È' , 'io' , 'C' , 'O' , 'M' , 'È' , ' \0 ' } ;
IL carattere nullo '\0' rappresenta la fine di una stringa. Per determinare dove finisce la stringa, è importante aggiungere il carattere null alla fine di every.
La rappresentazione in memoria della stringa precedente sarà la seguente:
Indice | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Variabile | IN | È | l | C | O | M | È | \0 |
In C, il carattere null viene utilizzato per determinare dove termina la stringa. Se il carattere null non è presente, queste funzioni continueranno a elaborare la memoria oltre la fine della stringa, portando potenzialmente a un comportamento imprevisto del codice.
Quello che segue è un codice di programmazione C completo per stampare una stringa.
#includeint principale ( ) {
char test [ 8 ] = { 'IN' , 'È' , 'io' , 'C' , 'O' , 'M' , 'È' , ' \0 ' } ;
printf ( 'L'output è: %s \N ' , test ) ;
ritorno 0 ;
}
Il programma precedente dichiara un test di matrice di caratteri con una dimensione di 8 e lo inizializza con i caratteri 'Benvenuto' , E '\0' . Quindi utilizza il file stampaf() funzione per stampare la stringa memorizzata nel test.
Produzione
Prendi l'input della stringa dall'utente nella programmazione C
Puoi anche prendere la stringa di input da un utente usando il file scanf() funzione e per questo, devi definire la dimensione dell'array di stringhe. Di seguito è riportato un codice di esempio per ricevere input dall'utente:
#includeint principale ( )
{
char nome [ 10 ] ;
printf ( 'Inserisci il nome:' ) ;
scanf ( '%S' , nome ) ;
printf ( 'Il nome inserito è: %s.' , nome ) ;
ritorno 0 ;
}
Il programma precedente richiede all'utente di inserire un nome, lo legge dall'utente utilizzando la funzione scanf() e lo memorizza nel nome dell'array di caratteri. Quindi usa la funzione printf() per stampare il nome inserito.
Produzione
Leggere una stringa o una riga di testo nella programmazione C
Puoi usare il fgets() funzione per leggere le stringhe poiché viene utilizzata per leggere una riga di testo dal flusso di input specificato e memorizzarla in un array di caratteri. Il codice scritto di seguito è un esempio di tale caso:
#includeint principale ( ) {
char linea [ cinquanta ] ;
printf ( 'Inserisci una riga di testo: ' ) ;
fgets ( linea , taglia di ( linea ) , stdin ) ;
printf ( 'Hai inserito: %s' , linea ) ;
ritorno 0 ;
}
Il programma C di cui sopra utilizza il file fgets() funzione per leggere una riga di testo immessa dall'utente dall'input standard e memorizzarla in un array di caratteri denominato line. Quindi, stampa la riga di testo immessa utilizzando la funzione printf().
Produzione
Funzioni di stringa comunemente utilizzate
Le stringhe nella programmazione C supportano varie funzioni che possono essere utilizzate nei programmi per eseguire diverse azioni. Alcune delle funzioni supportate da una stringa in C sono menzionate di seguito:
Nome della funzione | Finalità della Funzione |
strcat(a1,a2); | Aggiunge il contenuto della stringa a2 alla fine della stringa a1. Dopo l'operazione, la stringa risultante verrà memorizzata in a1. |
strcpy(a1,a2); | Questa funzione copia il contenuto della stringa a2 nella stringa a1. Dopo l'operazione, a1 conterrà una copia esatta di a2, incluso il carattere null di terminazione. |
strlen(a1); | Restituisce la lunghezza della stringa a1, ovvero il numero totale di caratteri presenti nella stringa prima dell'ultimo carattere di terminazione o nullo. |
strchr(a1,ch1); | Questa funzione sposta il puntatore alla prima occorrenza del carattere ch1 nella stringa a1. Questa funzione restituisce un puntatore null se ch1 non viene trovato nella stringa a1. |
Nota: C fornisce una libreria standard chiamata
Conclusione
La stringa è la raccolta della sequenza lineare nei programmi C. Ogni carattere memorizza un byte ed è rappresentato con virgolette doppie. C fornisce la libreria standard