Størrelse på strengmatrise

Jeg prøver å finne ut størrelsen på en matrise som dette:

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

Resultatet av koden ovenfor er 36 som er feil.

Har jeg noen andre muligheter med tanke på at jeg ikke vet størrelsen på arrayet til å begynne med?

Kommentarer

  • sizeof () er antall byte og ikke antall elementer. sizeof (array) / sizeof (element) gir antall elementer.

Svar

Nei, resultatet er riktig, du tolker det bare feil. Hvis du vil ha antall elementer i en statisk tildelt matrise, bruk:

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

Kommentarer

  • Beklager hvis jeg skriver inn feil emne, følg svaret til Ignacio Vazquez-Abrams, hvis størrelsen på hver streng i matrisen er forskjellig? som strengdager [] = {" Mandag ", " Tirsdag ", " Onsdag "}; Takk

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *