Dimensione della matrice di stringhe

Sto cercando di scoprire la dimensione di una matrice come questa:

 String days[3] = { "Mon", "Tue", "Wed" }; Serial.printf("Size of array: %2d\n", sizeof(days)); for (int i = 0; i < sizeof(days); i++) { Serial.print(days[i]); } 

Il risultato del codice sopra è 36 che non è corretto.

Ho altre opzioni considerando che non conosco la dimensione dellarray con cui iniziare?

Commenti

  • sizeof () è il numero di byte e non il numero di elementi. sizeof (array) / sizeof (element) fornisce il numero di elementi.

Risposta

No, il risultato è corretto, lo stai solo interpretando in modo errato. Se desideri il numero di elementi in un array allocato staticamente, utilizza:

sizeof(somearray) / sizeof(somearray[0]) 

Commenti

  • Scusa se inserisco in un argomento sbagliato segui la risposta di Ignacio Vazquez-Abrams, in caso di dimensione di ogni stringa nellarray è diversa? like String days [] = {" Monday ", " Martedì ", " Mercoledì "}; Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *