05.11.2014 Aufrufe

Systemprogrammierung Teil 1: Einführung

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

ANSI-C Funktionen: Syntax (2)<br />

• Funktions-Definition:<br />

Rückgabetyp Name(Parameterliste)<br />

{<br />

Anweisungen<br />

}<br />

Der Kopf muss genau dem Prototyp entsprechen, aber Parameternamen sind Pflicht.<br />

Der Rumpf enthält mindestens eine return-Anweisung:<br />

return Rückgabewert; /* Typ des Werts muss zum Rückgabetyp passen */<br />

return; /* bei void-Funktionen (darf am Ende des Rumpfs auch fehlen) */<br />

• Beispiel: int max(int a, int b)<br />

{<br />

if (a > b) return a;<br />

return b;<br />

}<br />

Kopf<br />

Rumpf<br />

Funktion mit Wert a verlassen<br />

Funktion mit Wert b verlassen<br />

Prof. Dr. H. Drachenfels <strong>Systemprogrammierung</strong> 4-4<br />

Hochschule Konstanz<br />

ANSI-C Funktionen: main<br />

Jedes Programm muss genau eine Funktion mit dem Namen main enthalten.<br />

• es gibt eine Variante mit und eine ohne Parameter:<br />

int main(int argc, char *argv[])<br />

{<br />

}<br />

...<br />

Erklärung der Parameter:<br />

argv<br />

argc + 1<br />

Feld von String-Pointern (argument vector).<br />

Feldgröße (argument count).<br />

int main()<br />

{<br />

...<br />

}<br />

argv[0]<br />

argv[1]<br />

argv[argc – 1]<br />

argv[argc]<br />

Programm-Name (Kommando)<br />

erstes Kommandozeilen-Argument<br />

letztes Kommandozeilen-Argument<br />

0 (NULL-Pointer)<br />

Prof. Dr. H. Drachenfels <strong>Systemprogrammierung</strong> 4-5<br />

Hochschule Konstanz

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!