String tömb mérete

Ilyen tömb méretét próbálom megtudni:

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

A fenti kód eredménye 36, ami helytelen.

Van-e más lehetőségem, tekintve, hogy nem tudom a tömb méretét?

Megjegyzések

  • A sizeof () a bájtok száma, nem pedig az elemek száma. A sizeof (tömb) / sizeof (elem) adja az elemek számát.

Válasz

Nem, az eredmény helyes, csak rosszul értelmezi. Ha statikusan kiosztott tömbben szeretné használni az elemek számát:

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

Megjegyzések

  • Sajnálom, ha rossz témában írok, kövesse Ignacio Vazquez-Abrams válaszát, ha az egyes karakterláncok mérete tömbben eltér? mint a húrnapok [] = {" hétfő ", " kedd ", " szerda "}; Köszönet

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük