Page 497 - Informatica dalla A a Z
P. 497

Attenzione: all’uscita del while dobbiamo inserire il carattere ‘\0’ di fine stringa.


           Nota: Per facilitare la gestione delle stringhe è disponibile la libreria string.h utilizzabile con
           la direttiva: #include <string.h>.


           Funzioni per la gestione delle stringhe:


           Le “Stringhe” sono una serie di caratteri (array di carattery) trattati come “singola unità”.
           Possono includere lettere, cifre e caratteri speciali (*, /, $) e vengono terminate dal carat-
           tere nullo 0, cioè dalla sequenza di escape “\0”.


           Per questo un vettore di N caratteri può ospitare stringhe lunghe al massimo N – 1 carat-
           teri, perché una cella è riservata al carattere terminatore “\0”.

           Esempio: Per dichiarare una stringa lunga al massimo 9 caratteri (escluso il terminatore) è
           possibile utilizzare una dichiarazione del tipo:


                                                 char stringa[10];

           Una stringa può essere inizializzata come un qualsiasi array specificandone i singoli carat-
           teri:


                            char stringa[10]={‘g’,’a’,’t’,’t’,’o’,’\0’};

           oppure mediante la forma specifica più compatta:

                                           char stringa[10]="gatto";

           dove il carattere di terminazione viene aggiunto automaticamente.

           Il carattere terminatore caratterizza la modalità di elaborazione delle stringhe ed è parti-

           colarmente utile nella determinazione della lunghezza di una stringa contenuta in un array.
           È infatti semplice scrivere una semplice funzione che restituisce la lunghezza di una stringa

           fornita come parametro:

              int lunghezzaStringa(char string[])
              {
                  int i=0;
                  while (string[i] != ‘\0’)

                  i++;
                  return i;
              }

           Una stringa può essere visualizzata in vari modi, specificandone le singole componenti:

              int i=0;

              char s[101];
              while (s[i] != ‘\0’)
                                                            493
   492   493   494   495   496   497   498   499   500   501   502