C Control Pro application board Mega 128 198258 Benutzerhandbuch

Produktcode
198258
Seite von 200
75
Compiler
© 2005 Conrad Electronic
5.2.3
Datentypen
Werte haben immer einen bestimmten Datentyp. Die Integerwerte (ganzzahlige Werte) haben in
CompactC einen 8 oder 16 Bit breiten Datentyp, floating point Zahlen sind immer 4 byte lang.
Datentyp
Vorzeichen
Wertebereich
Bit
 char
Ja
-128 ... +127
8
 unsigned char
Nein
0 ... 255 8
8
 byte
Nein
0 ... 255 8
8
 int
Ja
-32768 ... +32767
16
 unsigned int
Nein
0 ... 65535
16
 word
Nein
0 ... 65535
16
 float
Ja
±1.175e-38 to
±3.402e38
32
Wie man sieht, sind die Datentypen "unsigned char" und byte, sowie "unsigned int"
und word identisch.
Strings
Es existiert kein expliziter "String" Datentyp. Ein String basiert auf einem character array. Man muß
die Größe des arrays so wählen, daß alle Zeichen des Strings in das character array passen.
Zusätzlich wird Platz für ein Terminierungszeichen (dezimal Null) benötigt, um das Ende der
Zeichenkette anzuzeigen.
Typkonvertierung
Bei arithmetischen Ausdrücken passiert es sehr oft, daß einzelne Werte nicht vom gleichen Typ
sind. So sind die Datentypen im folgenden Ausdruck gemischt (a ist integer variable).
a + 
5.5
In diesem Fall wird a zuerst in den Datentyp float
 konvertiert und danach 5.5
addiert. Der Datentyp des Ergebnisses ist auch float. Es gelten bei der
Typkonvertierung folgende Regeln:
·
Ist bei der Verknüpfung von zwei 8 Bit oder 16 Bit Integerwerten einer der beiden
Datentypen vorzeichenbehaftet ("signed") so ist auch das Ergebnis des Ausdrucks
vorzeichenbehaftet. D.h., die Operation wird "signed" ausgeführt.
·
Ist einer der beiden Operanden vom Typ float, so ist auch das Ergebnis vom Typ
float. Sollte einer der beiden Operanden einen 8 Bit oder 16 Bit Datentyp haben, so
wird er vor der Operation in einen float Datentyp umgewandelt.
5.2.4
Variablen
Variablen können verschiedene Werte annehmen, abhängig vom 
 mit denen sie definiert
wurden. Eine Variablendefinition sieht folgendermaßen aus:
Typ Variablenname;