In questo articolo, spiegheremo quali sono le stringhe in C, come vengono dichiarate e come implementarle nella programmazione C.
Cosa sono le stringhe nella programmazione C?
Le stringhe sono gli array unidimensionali terminati da null \ 0 carattere. Sono usati per archiviare 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, si memorizzano i dati in tipo char.
Come dichiarare stringhe nella programmazione C?
Nella programmazione C, è possibile dichiarare una stringa usando i seguenti metodi:
È possibile assegnare una stringa con una dimensione predefinita. Ad esempio, una stringa con dimensioni limite di 8 caratteri dovrebbe essere dichiarata come:
Char Test [8] = "Welcome";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] = 'w', 'e', 'l', 'c', 'o', 'm', 'e', '\ 0';Oppure puoi assegnare una stringa a un array di caratteri inizializzando il carattere per carattere senza una dimensione definita:
char test [] = 'w', 'e', 'l', 'c', 'o', 'm', 'e', '\ 0';IL carattere null "\ 0" rappresenta la fine di una stringa. Per determinare dove finisce la stringa, è importante aggiungere il carattere nullo alla fine di ogni.
La rappresentazione di memoria della stringa sopra sarà la seguente:
Indice | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Variabile | W | e | l | C | o | M | e | \ 0 |
In C, il carattere null viene utilizzato per determinare dove sta terminando 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.
Di seguito è riportato un codice di programmazione C completo per la stampa di una stringa.
#includereIl programma di cui sopra dichiara un test di array di caratteri con una dimensione di 8 e lo inizializza con i caratteri 'Benvenuto', E '\ 0'. Quindi usa il printf () 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 utilizzando il scanf () funzione e per questo, è necessario definire la dimensione dell'array di stringhe. Di seguito è riportato un codice di esempio per prendere input dall'utente:
#includereIl programma sopra indica l'utente di inserire un nome, lo legge dall'utente utilizzando la funzione scanf () e lo memorizza nel nome dell'array caratteri. Quindi utilizza la funzione printf () per stampare il nome immesso.
Produzione
Leggi una stringa o una riga di testo nella programmazione C
Puoi usare il fgets () funzione per leggere le stringhe in quanto viene utilizzato per leggere una riga di testo dal flusso di input specificato e memorizzarlo in un array di caratteri. Il codice di sotto-scritto è un esempio di tale caso:
#includereIl programma C sopra indicato utilizza il fgets () funzione per leggere una riga di testo inserita dall'utente dall'ingresso standard e memorizzarlo in un array di caratteri denominato riga. Quindi, stampa la riga di testo immessa utilizzando la funzione printf ().
Produzione
Funzioni di stringa comunemente usate
Le stringhe nella programmazione C supportano varie funzioni che possono essere utilizzate nei programmi per eseguire azioni diverse. Alcune delle funzioni supportate da una stringa in C sono menzionate di seguito:
Nome della funzione | Scopo della funzione |
strcat (A1, A2); | Apprendono il contenuto della stringa A2 alla fine della stringa A1. Dopo l'operazione, la stringa risultante verrà archiviata in A1. |
strcpy (A1, A2); | Questa funzione copia il contenuto della stringa A2 alla stringa A1. Dopo l'operazione, A1 conterrà una copia esatta di A2, incluso il carattere null terminale. |
Strlen (A1); | Restituisce la lunghezza della stringa a1, i.e., il numero totale di caratteri situati nella stringa prima dell'ultimo carattere terminale o null. |
Strchr (A1, CH1); | Questa funzione sposta il puntatore alla prima occorrenza del carattere CH1 nella stringa A1. Questa funzione restituisce un puntatore nullo se CH1 non si trova nella stringa A1. |
Nota: C fornisce una libreria standard chiamata che fornisce varie funzioni per lavorare con stringhe in C. Queste funzioni includono operazioni come la copia di stringhe, stringhe concatenenti e altro ancora.
Conclusione
La stringa è la raccolta della sequenza lineare nei programmi C. Ogni personaggio memorizza un byte ed è rappresentato con segni di doppia citazione. C fornisce la libreria standard e puoi eseguire compiti complicati facilmente attraverso funzioni di stringa. Nella guida di cui sopra, abbiamo discusso di diversi modi per la dichiarazione della stringa e dell'inizializzazione. Abbiamo anche dimostrato il passaggio della stringa in una funzione con un codice di esempio.