Dato un array di puntatori a stringhe letterali:determinare la lunghezza di una stringa letterale
char *textMessages[] = {
"Small text message",
"Slightly larger text message",
"A really large text message that "
"is spread over multiple lines"
}
Come si fa a determinare la lunghezza di una particolare stringa letterale - dice il terzo? Ho provato utilizzando il comando sizeof come segue:
int size = sizeof(textMessages[2]);
Ma il risultato sembra essere il numero di puntatori nella matrice, piuttosto che la lunghezza della stringa letterale.
'sizeof (textMessages [2])' darà la dimensione del tipo 'char *'. È puramente casuale che 'sizeof (char *)' capita di essere 4 sul tuo sistema, e nulla a che fare con il numero di elementi nel tuo array. –
Si dovrebbe considerare l'uso della definizione 'static const char textMesssages [] [4]' per l'array. –
@MichaelFoukarakis Ci sono solo * tre * puntatori nell'array (notare la concatenazione di stringhe). – Jens