C Control PRO Unit Mega 128 198219 User Manual

Product codes
198219
Page of 429
178
Compiler
© 2013 Conrad Electronic
12
 + 
123
 - 
15
vom Compiler zu 
120
zusammengefaßt.  Manchmal müssen  Ausdrücke  konstant  sein,  damit  sie  gültig  sind.  Siehe  z.B.
Deklarierung von Array 
4.2.3
Datentypen
Werte  haben  immer  einen  bestimmten  Datentyp.  Die  Integerwerte  (ganzzahlige  Werte)  haben  in
CompactC einen 8, 16 oder 32 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
 byte
Nein
0 ... 255
8
 int
Ja
-32768 ... +32767
16
 unsigned int
Nein
0 ... 65535
16
 word
Nein
0 ... 65535
16
 long  
(kein Mega32)
Ja
-2147483648 ...
2147483647
32
 unsigned long 
(kein
Mega32)
Nein
0 ... 4294967295
32
 dword  
(kein Mega32)
Nein
0 ... 4294967295
32
 float
Ja
±1.175e-38 to ±3.402e38
32
Wie man sieht, sind die Datentypen "unsigned char" und byte, "unsigned int" und
word, sowie  "unsigned long" und dword identisch.
  Da der Interpreter sonst zu groß werden würde, sind die 32-Bit Integer Daten-
typen nicht auf dem Mega32 verfügbar. 
Strings
Es  existiert  kein  expliziter  "String"  Datentyp.  Ein  String  basiert  auf  einem  character  array.  Man
muss 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  Zei-
chenkette 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).