Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />
Die Benutzung e<strong>in</strong>er Struktur kann mit typedef vere<strong>in</strong>facht werden. (Der Strukturname kann<br />
[muss aber nicht] weggelassen werden)<br />
typedef struct {<br />
char Tag;<br />
<strong>in</strong>t Monat;<br />
<strong>in</strong>t Jahr;<br />
} DatumType;<br />
DatumType Me<strong>in</strong>Geburtstag = {9, 9, 1999};<br />
DatumType De<strong>in</strong>Geburtstag;<br />
Strukturen können e<strong>in</strong>ander zugewiesen, als Argumente an Funktionen übergeben <strong>und</strong> als Rückgabewerte<br />
von Funktionen zurückgeliefert werden. Arithmetische, logische <strong>und</strong> relationale (Vergleichs)<br />
Operatoren können nicht auf Strukturen angewendet werden.<br />
void Pr<strong>in</strong>tDate(DatumType Date) /* Struktur als Argument */<br />
{<br />
pr<strong>in</strong>tf("%d.%d.%d", Date.Tag, Date.Monat, Date.Jahr);<br />
}<br />
DatumType GetDate(void)<br />
{<br />
DatumType Result = {1, 1, 1911};<br />
return Result; /* Struktur als Rückgabewert */<br />
}<br />
De<strong>in</strong>Geburtstag = Ostern; /* Strukturzuweisung */<br />
Pr<strong>in</strong>tDate(Weihnacht); /* Funktionsaufruf mit Struktur als Argument */<br />
Me<strong>in</strong>Geburtstag = GetDate(); /* Funktionsaufruf mit Struktur als Rückgabewert */<br />
13.8 Verschachtelung<br />
Strukturen <strong>und</strong> Arrays können beliebig komb<strong>in</strong>iert <strong>und</strong> verschachtelt werden<br />
struct Person {<br />
char Name[20];<br />
<strong>in</strong>t Gewicht;<br />
struct Datum Geburtsdatum;<br />
} Student = {"Hans", 70, {1, 2, 1975}};<br />
/* Array mit 20 Personen */<br />
struct Person Klasse[20];<br />
/* Zugriff auf PersonenArray */<br />
Klasse[12].Gewicht = 78;<br />
Klasse[12].Geburtsdatum.Tag = 1;<br />
Klasse[12].Geburtsdatum.Monat = 12;<br />
Klasse[12].Geburtsdatum.Jahr = 1999;<br />
Klasse[12].Name[0] = 'U';<br />
Klasse[12].Name[1] = 'R';<br />
Klasse[12].Name[2] = 'S';<br />
Klasse[12].Name[3] = '\0'; /* Abschliessende Null, nicht vergessen !! */<br />
pr<strong>in</strong>tf("Gewicht von %s ist %d\n", Klasse[12].Name, Klasse[12].Gewicht);<br />
Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 52/147