Példa
A sizeof
operátor hasznos tömbök (például karakterláncok) kezelésére, ahol kényelmes a tömb méretének megváltoztatása anélkül, hogy a program más részeit összetörné.
Ez a program egy karakteres szöveget nyomtat ki. Próbálja megváltoztatni a szöveges kifejezést.
char myStr[] = "this is a test";
void setup() {
Serial.begin(9600);
}
void loop() {
for (byte i = 0; i < sizeof(myStr) - 1; i++) {
Serial.print(i, DEC);
Serial.print(" = ");
Serial.write(myStr[i]);
Serial.println();
}
delay(5000); // lelassítja a programot
}
Megjegyzések és figyelmeztetések
Vegye figyelembe, hogy a sizeof
a bájtok teljes számát adja vissza. Tehát a nagyobb típusú változók tömbjeinél, mint például az int
, a for ciklus valahogy így nézne ki.
int myValues[] = {123, 456, 789};
// ez a for ciklus bármilyen típusú vagy méretű tömb esetén megfelelően működik
for (byte i = 0; i < (sizeof(myValues) / sizeof(myValues[0])); i++) {
// csináljon valamit a myValues[i]-vel
}
Vegye figyelembe, hogy a megfelelően formázott karakterlánc NULL szimbólummal végződik, amelynek ASCII értéke 0.