Professional Documents
Culture Documents
Una stringa una qualsiasi sequenza di caratteri racchiusa tra apici doppi.
a:
Per gestire variabili che contengono una stringa necessario ricorrere agli arra di caratteri.
char
word[] = {H, e, l, l, o} !
Se si utilizza un arra di di#ensione pre%ssata non detto che la di#ensione dell&arra coincida con la lunghezza della stringa in esso contenuta.
char
di #antenere un contatore che indica la %ne della stringa quando questa #e#orizzata in un arra di di#ensione %ssa.
char word[] = {H, e, l, l, o, \0}!
, possibile inizializzare un arra di caratteri speci%cando diretta#ente una stringa, anzich una lista di singoli caratteri.
char
word[] = {Hello}!
-otare che viene aggiunto auto#atica#ente il carattere nullo in .ondo all&arra . /uindi word ha di#ensione 0. Se si speci%ca diretta#ente la di#ensione dell&arra necessario lasciare lo spazio per il carattere nullo %nale. char word[6] = {Hello}!
,
Si pu3 accedere ai singoli caratteri che co#pongono una stringa con l&usuale notazione degli arra .
word[] = Hello! word[2] l Word[1] = 3 4 H3llo
char
Per deter#inare se due stringhe di caratteri sono uguali non si pu3 utilizzare l&operatore 55 necessario con.rontare esplicita#ente le due stringhe carattere per carattere.
Usando
un ciclo 6hile che scorre entra#be %nch7 non si raggiunge il carattere nullo in una delle due, oppure il carattere corrente nelle due stringhe diverso.
'a .unzione pri !" pu3 essere utilizzata con .or#ato speciale #$ per visualizzare un arra di caratteri che termina con il carattere nullo .
'a .unzione $ca " pu3 essere utilizzata con il .or#ato speciale #$ per leggere una stringa di caratteri %nch7 non incontra: uno spazio vuoto, un carattere di tabulazione, o la fine linea.
char word['1]( $ca "%#$, word&( -otare che in questo caso non c& il carattere ) pri#a del no#e della variabile. Se l&input Hello world* viene letto e assegnato a word solo Hello. "ggiunge auto#atica#ente il carattere nullo al ter#ine della stringa letta.
Se l&utente digita pi9 caratteri della di#ensione dell&arra senza uno spazio, un carattere di tabulazione o un %ne linea, la .unzione $ca " eccede la capacit: dell&arra . , possibile indicare un nu#ero #assi#o di caratteri letti dalla $ca ", indipendente#e dal nu#ero di caratteri digitati, inserendo tale nu#ero tra i si#boli # e $ nella stringa di .or#ato.
char
word['1]( $ca "%#'0$, word& -otare che l&arra ha di#ensione ;(, #entre il valore #assi#o speci%cato ;) per lasciare spazio al carattere nullo %nale auto#atica#ente aggiunto da $ca ".