Suche
Suche Menü

Hauptfunktion

Hier wollen wir uns nun die Hauptfunktion main näher anschauen. Die main-Funktion ist der Start unseres Programms. Beim Ausführen des Programms haben wir die Möglichkeit, Argumente als Parameter an unser Programm zu übergeben, ähnlich wie bei Funktionen. Hierfür benötigt man ein erweitertes Grundgerüst wie dieses:

#include<stdio.h>

int main(int argc, char* argv[]) {  	

	return 0;
}

Wie man sieht, ist die einzige neue Veränderung die Parameterliste der main-Funktion. Im Parameter argc wird die Anzahl der Parameter gespeichert; der Name steht für Argument Count. Im Parameter argv werden die einzelnen übergebenen Werte in einem charArray gespeichert; der Name steht für Argument Values.

Nachdem man ein Programm kompiliert hat, kann man es über die Shell oder Eingabeaufforderung mit Parametern starten. Wir wollen dies nun anhand des folgenden Programms testen, das lediglich die Werte der Parameter argc und argv ausgibt.

#include<stdio.h>

int main(int argc, char* argv[]) {
	int i;
	printf("argc: %d\n", argc);	
	for(i=0; i < argc; i++) {
		printf("argv[%d]: %s\n", i, argv[i]);
	}
	return 0;
}

In diesem Beispiel ist der Name der kompilierten Datei foo. Ein Aufruf dieser Datei mit Parametern unter Linux und die resultierende Ausgabe können wie folgt aussehen.

# ./foo kurt hannes
argc: 3
argv[0]: ./foo
argv[1]: kurt
argv[2]: hannes

In der ersten Zeile ist also der Aufruf des Programmes zu sehen, der die Parameter kurt und hannes enthält. Direkt darunter steht die resultierende Bildschirmausgabe. Die Variable argc hat den Wert 3, also besitzt das Feld mit den Parameter-Werten auch 3 Einträge, welche darunter ausgegeben werden. Der erste Wert des Parameter-Arrays argv ist immer der Programmname selbst, in diesem Fall foo. Dahinter folgen die wirklichen Parameter bezüglich des Programmaufrufs.