Referenz - SIZEOF
Syntax: SIZEOF (Variable)
Typ: Funktion
Kategorie: Datentypen
SIZEOF gibt die Größe einer Struktur im Speicher in Bytes aus.
- Diese Struktur kann eine Variable (a, b(), ...) sein, ein Datentyp (z. B. INTEGER) oder ein UDT-Bezeichner (siehe TYPE).
- Wird SIZEOF an einem String variabler Länge angewandt, wird die Größe des Typs ausgegeben. Dieser beträgt bei Strings 12 oder 24, abhängig davon, ob der 32bit oder 64bit Compiler verwendet wird.
- Wird SIZEOF an einem String fester Länge oder an einem ZSTRING bzw. WSTRING angewandt, wird die Größe des reservierten Speicherbereichs ausgegeben.
Das Ergebnis von SIZEOF ist oft gleich dem von LEN, jedoch nicht immer!
Wird SIZEOF auf Arrays angewendet, gibt es immer nur die Größe eines Elements zurück, nicht des ganzen Arrays. Um Missverständnisse zu vermeiden, sollte SIZEOF deswegen immer nur auf einzelne Elemente statt auf das ganze Array angewandt werden.
Beispiel:
DIM a AS INTEGER, b AS STRING, c AS STRING * 5, d(5) AS INTEGER
PRINT "1) LEN"
PRINT LEN(a) ' Ausgabe: 4 oder 8 => 32bit bzw. 64bit-Integer, je nach Compiler
PRINT LEN(b) ' Ausgabe: 0 => Leerstring
PRINT LEN(c) ' Ausgabe: 5 => 5-Zeichen-String
PRINT LEN(d(0)) ' Ausgabe: 4 oder 8 => 32bit bzw. 64bit-Integer, je nach Compiler
PRINT LEN(d) ' Ausgabe: 4 oder 8 => Pointer auf Array, also 32bit-Integer bzw. 64bit-Integer, je nach Compiler
PRINT
PRINT "2) SIZEOF"
PRINT SIZEOF(a) ' Ausgabe: 4 oder 8 => 32bit bzw. 64bit-Integer, je nach Compiler
PRINT SIZEOF(b) ' Ausgabe: 12 oder 24 => Siehe STRING (Datentyp) für Erklärung
PRINT SIZEOF(c) ' Ausgabe: 6 => 5 Zeichen + 1 Nullzeichen CHR(0)
PRINT SIZEOF(d(0)) ' Ausgabe: 4 oder 8 => 32bit bzw. 64bit-Integer, je nach Compiler
PRINT SIZEOF(d) ' Ausgabe: 4 oder 8 => Pointer auf Array, also 32bit-Integer bzw. 64bit-Integer, je nach Compiler
SLEEP
Unterschiede zu QB: neu in FreeBASIC
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht SIZEOF nicht zur Verfügung und kann nur über __SIZEOF aufgerufen werden.
Siehe auch:
LEN, OFFSETOF, STRING (Datentyp), Verschiedenes
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|