Statische Variablen , Gegenstück zu automatischen Variablen. Bereits während des Kompliationsvorgangs wird der statischen Variable ein fester Speicherbereich zugewiesen, der für den gesamten Programmlauf erhalten bleibt.
int TestFunktion(void) ...
int i = TestFunktion(); /* und nicht: TestFunktion(void) */
int, char und long sind ganzzahlige Datentypen,
während float und double Fließkommazahlen
repräsentieren.
Der Zusatz unsigned in Verbindung mit einem der Typen
int,char,long definiert den entsprechenden Datentyp als positiv.
Der Wertebereich der einfachen Datentypen ist nicht genormt, da er von
dem für den jeweiligen Datentyp zur Verfügung stehenden Speicherplatz (Länge)
abhängt. Lediglich die char -Typen haben eine genormte Länge von 8 Bit.
Logischer Ausdruck , in C äquivalent mit jedem ganzzahligen
Datentyp int, char, long . Wahr, wenn er einen
beliebigen Wert ! besitzt; falsch, wenn .
Variablendeklaration:
int i,j,k;
char c = 0;
unsigned long l = -2; Verboten, da unsigned gefordert!!
Variablen müssen immer am Anfang eines Programmelementes
(vor der ersten Zeile mit ausführbarem Code) deklariert werden.
Typkonvertierung, immer möglich zwischen einfachen Datentypen. Realisiert
durch Voransetzen des Datentyps:
( einfacher Datentyp) Ausdruck
int m = 32.7; /* verboten, da Typen inkompatibel! */
int n = (int)32.7; /* erlaubt, da gültige */
*/ Typkonvertierung. */
Zusammengesetzter Datentyp ( struct ), aus
mehreren einfachen oder anderen zusammengesetzten Datentypen aufgebautes
Konstrukt. Wird analog zu den einfachen Datentypen zur Deklaration von
Variablen verwendet.
struct Datum { unsigned int Tag,Monat,Jahr;} }Deklaration einer Variablen: struct Datum Heute;
union , zusammengesetzter Datentyp, der es gestattet, denselben
Speicherbereich durch unterschiedliche Datentypen zu addressieren.
union Demo {
int Zahl;
struct { char Byte3,Byte2,Byte1,Byte0; } Bytes;
}
Eine Variable union Demo Test; kann sowohl durch Test.Zahl , als
auch durch Test.Bytes.Byte2 adressiert werden.
typedef , Neubenennung von einfachen oder zusammengesetzten Datentypen:
typedef float REAL; oder typedef union Demo UDemo;
so definierte Datentypen können wie einfache Datentypen zur Deklaration
verwendet werden (ohne den Vorsatz struct, union, ).
Durch typedef deklarierte Datentypen werden vom Compiler
als zu ihren definierenden Datentypen identisch behandelt. So sind
union Demo x; und UDemo y; für den Compiler von identischem
Typ.