Tamaño de la matriz de cadenas

Estoy tratando de averiguar el tamaño de una matriz como esta:

 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]); } 

El resultado del código anterior es 36, que es incorrecto.

¿Tengo otras opciones considerando que no sé el tamaño de la matriz para empezar?

Comentarios

  • sizeof () es el número de bytes y no el número de elementos. sizeof (matriz) / sizeof (elemento) da el número de elementos.

Responder

No, el resultado es correcto, simplemente lo está interpretando incorrectamente. Si desea la cantidad de elementos en una matriz asignada estáticamente, use:

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

Comentarios

  • Lo siento si publico en el tema equivocado, siga la respuesta de Ignacio Vazquez-Abrams, en caso de que el tamaño de cada cadena en la matriz sea diferente. como String days [] = {" lunes ", " martes ", " miércoles "}; Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *