21.11.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!