sizeof()

Beschreibung

sizeof gibt die Anzahl an Bytes in einem Variablentyp oder die Anzahl an Bytes eines Arrays zurück.

Syntax

sizeof(variable)

Parameter

  • variable: Erlaubte Datentypen: Beliebiger Datentyp.

Rückgabewert

Die Anzahl der Bytes in einer Variablen oder die Bytes, die in einem Array belegt sind. Datentyp: size_t.

Beispielcode

Der sizeof-Operator ist nützlich, um mit Arrays (wie z.B. Strings) umzugehen. Dort ist es Standard, dass die Größe des Arrays sich ändert, ohne dass das ganze restliche Programm umgeschrieben werden muss.

Das Programm gibt einen Text zeichenweise aus. Versuche, den Text zu ändern, das Programm wird weiter funktionieren.

// Definiere Text und Zählervariable char myStr[] = "this is a test"; void setup() { // Initialisiere seriellen Port Serial.begin(9600); } void loop() { // Laufe über das Array (den String), egal, wie lange dieser ist for (byte i = 0; i < sizeof(myStr) - 1; i++) { // Gib die Zeichennummer als Dezimalzahl aus Serial.print(i, DEC); // Gib ein Gleichheitszeichen aus Serial.print(" = "); // Gib das Zeichen des Strings an Stelle "i" aus Serial.write(myStr[i]); // Schreibe eine neue Zeile Serial.println(); } delay(5000); // Warte 5 Sekunden }

※ Anmerkungen und Warnungen:

sizeof gibt die Anzahl an Bytes zurück. Für Arrays größerer Variablentypen, wie z.B. int, sieht die Schleife wie folgt aus:

int myValues[] = {123, 456, 789}; // Diese for-Schleife funktioniert ordnungsgemäß mit einem Array eines beliebigen Typs und jeder Größe for (byte i = 0; i < (sizeof(myValues)/sizeof(myValues[0])); i++) { // Tue etwas mit myValues[i] }

Beachte zusätzlich, dass ein richtig formattierter String mit dem NULL-Symbol beendet wird, also dem ASCII-Zeichen mit Nummer 0.

Siehe Auch

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.