Sab. Ott 19th, 2019

Salve, oggi spiegherò le stringhe in C. Una stringa in C è un array di caratteri che termina con ‘\0‘ e la dichiarazione può esser fatta in vari modi.

Come detto le stringhe sono dei vettori, quindi per dichiarare una stringa dovremmo procedere con una dichiarazione vettoriale di tipo char.

char stringa[lunghezza]

Questa è una dichiarazione di una stringa ma adesso bisogna lavorarci un po’ sopra per capire meglio.

Dichiariamo un’altra stringa -> char stringa[5] = “ciao”

Come vedete per assegnare un valore ad una stringa è molto semplice, basta assegnare all’array una grandezza e non superare ne eguagliare questa grandezza.

Perché non deve essere uguale? La grandezza della stringa è di 5 caratteri, ciao è una parola composta da 4 lettere.. Come dicevo ogni stringa finisce con un carattere limitatore (‘\0‘) obbligatorio a calcolo automatico che verrà posto direttamente alla fine della stringa se assegniamo alla stringa una lunghezza.

Le stringhe possono essere, come array, anche ad incremento sequenziale.. Quindi possiamo anche non inserire una lunghezza.. in questo caso il termine ‘\0‘ verrà posto in sequenza dopo l’ultima lettera.


Una stringa può essere anche dichiarata e assegnata come un vettore di caratteri veri e propri.

char stringa[5] = {‘c’, ‘i’ , ‘a’ , ‘o’, ‘\0’};

In questo modo però, come vedete dall’esempio, il termine null (\0) deve essere aggiunto ‘manualmente’ poiché dichiariamo il vettore come singoli caratteri.


Ora sappiamo come dichiarare e assegnare una stringa, ma approfondiamo un po’ di più.

  1. Le stringhe vanno sempre chiuse fra “” (double quotation).
  2. I caratteri invece fra ‘ ‘ (single quotation).
  3. Essendo un array, i nomi delle stringhe funzionano come puntatori.
  4. Le stringhe hanno una libreria (string.h) che comprende molte funzioni utili.

STRING.H

strlen() <- ritorna la lunghezza della stringa.

strcat() <- unisce 2 stringhe

strcpy() <- copia una stringa in un’altra

strlwr() <- converte la stringa in lowercase

strupr() <- converte la stringa in uppercase

strrev() <- inverte una stringa

strcmp() <- compara 2 stringe con ritorno 0 se uguali


Per questa volta è tutto, Hai appreso i concetti basilari, nel prossimo corso imparerai input e output di una stringa.

Se avete altre domande contattatemi su Lyone_official. Invece se avete altre guide da consigliare scrivetele al nostro Profilo Ufficiale, Draky00 o al nostro Bot Ufficiale per Limitati.

Risorse

Iscriviti tramite email

Inserisci il tuo indirizzo e-mail per iscriverti a HackTricks, e ricevere via e-mail le notifiche di nuovi post.

Unisciti a 7 altri iscritti