Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Struktur (http://www.informatikerboard.de/board/thread.php?threadid=1825)


Geschrieben von lilli. am 05.03.2014 um 21:34:

 

Vielen lieben Dank smile , hab alles soweit verstanden smile



Geschrieben von lilli. am 05.03.2014 um 21:49:

 

nur noch eine Sache. Was sagt diese Zeile aus, das was in Klammern steht?
int main(int argc, char **argv)



Geschrieben von Karlito am 05.03.2014 um 22:24:

 

Das ist die Deklaration der main Funktion. Diese ist bei C-Programmen immer der Einstiegspunkt für die Ausführung des Programmes. Bei einem Lauffähigen Programm wird immer als erstes die main-Funktion aufgrufen und die gesamte Programmausführung endet mit ihr.

Die Main Funktion hat meist folgenden Prototyp:
int main(int, char**);

Das heitß, dass sie einen Integer zurückgibt (der Kann von einem anderen Programm nach der Ausführung geprüft werden, dabei heißt 0 dass alles OK ist und alles andere dass irgendetwas nicht in Ordnung ist). Weiterhin werden beim Aufruf des Programmes der main Funktion immer 2 Parameter übergeben. Die Anzahl der Argumente (oder aus Parameter) auf der Kommandozeile (argc = argument count) und ein array mit den Kommandozeilenparameter selbst (argv = argument vector).
Dabei ist argc immer mindestens 1, da der erste Parameter immer der Programmname selbst ist.

Argumente eines Programmes sind die Dinge die man oft hinter den Aufruf des Programmes schreibt. So zum beispiel unter windows für den shutdown-befehl "shutdown \s \t 0". Dieses Programm hätte 3 Argumente und damit wäre argc=4. Weiterhin wären argv[0] ="shutdown.exe", argv[1] = "\s", argv[2] = "\t" und argv[3] = "0".

Du kannst das gerne mal mit folgendem Programm ausprobieren:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
#include <stdlib.h>
#include <stdio.h>

//der andere Name der Parameter von main soll dir 
//nur zeigen, dass die namen  keine rolle spielen.
//Es muss nur der Prototyp int main(int, char **) 
//übereinstimmen
int main (int anzahl_argumente, char **argumente){
	int i;
	for (i=0;i<anzahl_argumente; i++){
		printf("argumente[%d]: \"%s\"\n", i, argumente[i]);
	}

	return 0;
}


Führe einfach das erzeugte Programm auf der Kommandozeile mit verschiedenen Parametern (beliebig) aus.

VG,

Karlito



Geschrieben von lilli. am 05.03.2014 um 22:36:

 

danke, das war echt verständlich großes Grinsen


Forensoftware: Burning Board, entwickelt von WoltLab GmbH