Inizializzazione di stringheInitializing Strings

È possibile inizializzare una matrice di caratteri (o carattere "wide") con un valore letterale stringa (o valore letterale stringa "wide").You can initialize an array of characters (or wide characters) with a string literal (or wide string literal). Ad esempio:For example:

char code[ ] = "abc";  

inizializza code come matrice di caratteri di quattro elementi.initializes code as a four-element array of characters. Il quarto elemento è il carattere null, che termina tutti i valori letterali stringa.The fourth element is the null character, which terminates all string literals.

Un elenco di identificatori può essere lungo solo come il numero di identificatori da inizializzare.An identifier list can only be as long as the number of identifiers to be initialized. Se si specifica una matrice con dimensione minore della stringa, i caratteri aggiuntivi vengono ignorati.If you specify an array size that is shorter than the string, the extra characters are ignored. Ad esempio, la seguente dichiarazione inizializza code come matrice di caratteri con tre elementi:For example, the following declaration initializes code as a three-element character array:

char code[3] = "abcd";  

Solo i primi tre caratteri dell'inizializzatore vengono assegnati a code.Only the first three characters of the initializer are assigned to code. Il carattere d e il carattere di terminazione null della stringa vengono rimossi.The character d and the string-terminating null character are discarded. Si noti che in questo modo viene creata una stringa non terminata (ovvero una stringa senza un valore 0 che ne contrassegni la fine) e viene generato un messaggio di diagnostica che indica questa condizione.Note that this creates an unterminated string (that is, one without a 0 value to mark its end) and generates a diagnostic message indicating this condition.

La dichiarazioneThe declaration

char s[] = "abc", t[3] = "abc";  

è identica ais identical to

char s[]  = {'a', 'b', 'c', '\0'},   
     t[3] = {'a', 'b', 'c' };  

Se la stringa è minore delle dimensioni della matrice specificate, gli elementi rimanenti della matrice verranno inizializzati sul valore 0.If the string is shorter than the specified array size, the remaining elements of the array are initialized to 0.

Sezione specifica MicrosoftMicrosoft Specific

In Microsoft C i valori letterali stringa possono essere lunghi fino a 2048 byte.In Microsoft C, string literals can be up to 2048 bytes in length.

Fine sezione specifica MicrosoftEND Microsoft Specific

Vedere ancheSee Also

InizializzazioneInitialization