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