Grootte van string-array

Ik probeer de grootte van een array als volgt te achterhalen:

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

Het resultaat van de bovenstaande code is 36, wat onjuist is.

Heb ik nog andere opties, aangezien ik de grootte van de array om te beginnen niet weet?

Opmerkingen

  • sizeof () is het aantal bytes en niet het aantal elementen. sizeof (array) / sizeof (element) geeft het aantal elementen.

Antwoord

Nee, het resultaat is correct, je “interpreteert het gewoon verkeerd. Als je het aantal elementen in een statisch toegewezen array wilt, gebruik dan:

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

Opmerkingen

  • Sorry als ik in het verkeerde onderwerp post, volg het antwoord van Ignacio Vazquez-Abrams, in het geval dat de grootte van elke String in de array anders is? like String days [] = {" maandag ", " dinsdag ", " woensdag "}; Bedankt

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *