Char e String
In C non esiste un tipo di dato dedicato alle stringhe (testo). Il testo viene invece memorizzato come array di char, dove ogni elemento contiene un singolo carattere. Ad esempio, il testo c<>definity viene rappresentato come una sequenza di caratteri memorizzati in un array di questo tipo.
char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};
Potresti notare che il testo "c<>definity" ha 11 caratteri, ma l'array contiene 12 elementi. Questo elemento aggiuntivo memorizza il terminatore nullo \0, che indica la fine di una stringa in C.
Non si tratta del numero zero, ma di un carattere speciale non stampabile (codice ASCII 0) che segnala al programma dove termina la stringa.
Assicurarsi sempre che l'array di caratteri sia di un elemento più grande rispetto al testo che contiene, per includere questo terminatore.
È fondamentale riconoscere che 'x' e "x" non sono la stessa cosa.
Una stringa è composta da caratteri. Ricorda sempre di terminare una stringa con il carattere \0.
'x'è semplicemente una costante di tipo char;"x"è una stringa, un array di valori char, o, in questo caso, {'x', '\0'}.
Non confondere '\0', '0' e "0".
'\0' è il carattere nullo (ASCII 0), '0' è la cifra zero (ASCII 48), e "0" è una stringa che contiene la cifra zero più il terminatore \0.
Output di stringhe
In C, quando si desidera visualizzare stringhe (array di valori char), si utilizza lo specificatore %s. Questo specificatore indica alla funzione printf() quale tipo di informazione aspettarsi. Utilizzando %s, informiamo la funzione printf() che riceverà una stringa.
main.c
12345678910#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }
Il linguaggio C include una libreria standard per la manipolazione delle stringhe, <string.h>. All'interno di questa libreria, è presente una funzione che conta il numero di caratteri in una stringa:
main.c
123456789101112#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Ricorda, anche uno spazio è un carattere e richiede una propria posizione nell'array. Ad esempio: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.
Utilizzando un indice, è possibile accedere agli elementi della stringa. Poiché le stringhe sono essenzialmente array di char, è anche possibile modificare i singoli caratteri tramite i loro indici.
Main.c
123456789101112#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.63
Char e String
Scorri per mostrare il menu
In C non esiste un tipo di dato dedicato alle stringhe (testo). Il testo viene invece memorizzato come array di char, dove ogni elemento contiene un singolo carattere. Ad esempio, il testo c<>definity viene rappresentato come una sequenza di caratteri memorizzati in un array di questo tipo.
char arr[12] = {'c','<','>','d','e','f','i','n','i','t','y','\0'};
Potresti notare che il testo "c<>definity" ha 11 caratteri, ma l'array contiene 12 elementi. Questo elemento aggiuntivo memorizza il terminatore nullo \0, che indica la fine di una stringa in C.
Non si tratta del numero zero, ma di un carattere speciale non stampabile (codice ASCII 0) che segnala al programma dove termina la stringa.
Assicurarsi sempre che l'array di caratteri sia di un elemento più grande rispetto al testo che contiene, per includere questo terminatore.
È fondamentale riconoscere che 'x' e "x" non sono la stessa cosa.
Una stringa è composta da caratteri. Ricorda sempre di terminare una stringa con il carattere \0.
'x'è semplicemente una costante di tipo char;"x"è una stringa, un array di valori char, o, in questo caso, {'x', '\0'}.
Non confondere '\0', '0' e "0".
'\0' è il carattere nullo (ASCII 0), '0' è la cifra zero (ASCII 48), e "0" è una stringa che contiene la cifra zero più il terminatore \0.
Output di stringhe
In C, quando si desidera visualizzare stringhe (array di valori char), si utilizza lo specificatore %s. Questo specificatore indica alla funzione printf() quale tipo di informazione aspettarsi. Utilizzando %s, informiamo la funzione printf() che riceverà una stringa.
main.c
12345678910#include <stdio.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%s\n", array); // use %s format specifiers return 0; }
Il linguaggio C include una libreria standard per la manipolazione delle stringhe, <string.h>. All'interno di questa libreria, è presente una funzione che conta il numero di caratteri in una stringa:
main.c
123456789101112#include <stdio.h> #include <string.h> int main() { char array[] = { 'c','<','>','d','e','f','i','n','i','t','y','\0' }; printf("%d\n", strlen(array)); return 0; }
Ricorda, anche uno spazio è un carattere e richiede una propria posizione nell'array. Ad esempio: char array[10] = { 'u','s','e',' ','s','p','a','c','e','\0' }.
Utilizzando un indice, è possibile accedere agli elementi della stringa. Poiché le stringhe sono essenzialmente array di char, è anche possibile modificare i singoli caratteri tramite i loro indici.
Main.c
123456789101112#include <stdio.h> int main() { char str[] = "c<>definity"; str[5] = '#'; // Change the sixth character `f` to `#` printf("%s\n", str); return 0; }
Grazie per i tuoi commenti!