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