Mit dem vordefinierten Datentyp VARCHAR können Sie Host-Variablen deklarieren, denen Zeichenketten variabler Länge zugewiesen werden sollen.
Der C/C++-Precompiler setzt die VARCHAR-Deklaration um in eine Struktur-Deklaration aus einer 2-Byte-Längenangabe und einem Array oder Pointer. Die aktuelle Länge einer VARCHAR-Variablen wird durch das Längenfeld bestimmt. NULL-Bytes sind für die Berechnung der Länge irrelevant. Bei einer VARCHAR-Deklaration mit Pointer-Deklarator ist das Anwendungsprogramm für die Speicherplatzzuweisung zur Laufzeit verantwortlich.
VARCHAR v [n];
wird ersetzt durch
struct {unsigned short len; unsigned char arr [n];} v;
wobei an len die aktuelle Länge der Zeichenkette und an arr die Zeichen selbst zugewiesen werden.
VARCHAR *v;
wird ersetzt durch
struct {unsigned short len; unsigned char arr [1];} *v;
Siehe auch: Beispiele für zulässige VARCHAR-Deklarationen