Zurück Vor +Ebene Home Inhalt Index Hilfe

Datenstrukturen

Automatische Variablen , Variable, für die während des Programmlaufes bei ihrer Deklaration der zugehörige Speicherbereich auf dem Stack angefordert und bei Verlassen ihres Gültigkeitsbereiches wieder freigegeben wird.

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.

static :
Deklariert eine Variable als statisch.
auto :
Deklariert eine Variable als automatisch.


 
Definitionsgemäß sind alle innerhalb von Blöcken definierten Variablen automatisch, außerhalb aller Blöcke (Datei-Scope) statisch.
 
Datentyp, Eigenschaft, die jeder Variablen bei ihrer Deklaration zugewiesen werden muß. Man unterscheidet einfache  und zusammengesetzte  (benutzerdefinierte) Datentypen.
 
Einfache Datentypen: int,char,long,float,double,void
 
void  , besonderer Datentyp, dient bei Zeigerprogrammierung zur Darstellung eines Zeigers ohne definierten Typ. Bei Funktionsdeklarationen deutet void dem Compiler an, daß keine Parameter übergeben oder kein Rückgabewert erwartet wird.
 
Der Aufruf einer mit void in der Parameterliste deklarierten Funktion erfolgt ohne Angabe von void einfach durch leere Klammern:

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;
 
Die Elemente eines zusammengestetzten Datentypes werden über den Struktur-Operator ,,.`` angesprochen:
 
printf("Datum: %ud.%ud.%ud",Heute.Tag, Heute.Monat,
Heute.Jahr);

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.

Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik