Tamanho da matriz String

Estou tentando descobrir o tamanho de uma 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]); } 

O resultado do código acima é 36, o que está incorreto.

Eu tenho alguma outra opção considerando que não sei o tamanho da matriz para começar?

Comentários

  • sizeof () é o número de bytes e não o número de elementos. sizeof (array) / sizeof (elemento) fornece o número de elementos.

Resposta

Não, o resultado está correto, você está apenas interpretando-o incorretamente. Se você quiser o número de elementos em uma matriz alocada estaticamente, use:

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

Comentários

  • Desculpe se postar no tópico errado seguir resposta de Ignacio Vazquez-Abrams, no caso do tamanho de cada String no array ser diferente? como String dias [] = {" Segunda-feira ", " Terça-feira ", " Quarta-feira "}; Obrigado

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *