Rozmiar tablicy ciągów

Próbuję sprawdzić rozmiar tablicy takiej jak ta:

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

Wynik powyższego kodu to 36, co jest niepoprawne.

Czy mam inne opcje, biorąc pod uwagę, że nie znam rozmiaru tablicy?

Komentarze

  • sizeof () to liczba bajtów, a nie liczba elementów. sizeof (tablica) / sizeof (element) podaje liczbę elementów.

Odpowiedź

Nie, wynik jest poprawny, po prostu niepoprawnie go interpretujesz. Jeśli chcesz określić liczbę elementów w tablicy alokowanej statycznie, użyj:

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

Komentarze

  • Przepraszam, jeśli piszę w złym temacie, podążaj za odpowiedzią Ignacio Vazquez-Abrams, w przypadku, gdy rozmiar każdego ciągu w tablicy jest inny? jak String days [] = {" poniedziałek ", " wtorek ", " środa "}; Dzięki

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *