Supponiamo che abbia seguente inizializzazione di un array di char:inizializzazione array di caratteri in un modo simile a inizializzare stringhe
char charArray[]={'h','e','l','l','o',' ','w','o','r','l','d'};
e ho anche dopo l'inizializzazione di una stringa letterale:
char stringLiteral[]="hello world";
L'unica differenza tra il contenuto del primo array e la seconda stringa è che la seconda stringa ha un carattere null alla sua fine.
Quando si tratta di inizializzare un array di caratteri, esiste una macro o qualcosa che ci permetta di inserire il nostro testo di inizializzazione tra due virgolette doppie ma dove l'array non ottiene un carattere di terminazione null aggiuntivo?
Non ha senso per me che quando un carattere nullo terminante non è necessario, dovremmo usare la sintassi dell'inizializzazione menzionata per la prima volta e scrivere due virgolette singole per ogni carattere nel testo inizializzatore, così come i segni virgule separare i personaggi.
Devo aggiungere che quando voglio avere un array di caratteri, dovrebbe anche essere ovvio che non voglio usarlo con funzioni che si basano su stringhe letterali insieme al fatto che nessuna delle funzionalità in cui si utilizza la stringa risultati letterali, è nella mia considerazione.
Sono grato per le vostre risposte.
@ Michael - è un requisito negli standard C e C++. – Steve314
Il * PROBLEMA * che affronterai è che "le stringhe tra virgolette" sono richieste dalla lingua per terminare NUL. – torak