Io sinceramente non conosco bene il perché esistano questi argomenti nel main. Qual è il loro scopo nel programma o per il compilatore.argv e' un array di puntatori a char. Ogni puntatore referenzia un singolo parametro della linea di comando sottoforma sempre di stringa.
In altri termini, i parametri inseriti nella linea di comando vengono sempre acquisiti dal programma come stringhe, anche nel caso che questi rappresentino dei valori numerici.
Il significato dell'array di puntatori e' il seguente:
argv[0] e' il nome del programma ed e' sempre presente.
argv[1] e' il primo parametro (se esistente) digitato dopo il nome del programma.
argv[argc-1] e' l'ultimo parametro passato al programma.
argv[argc] e' uguale a '\0' (puntatore nullo).
Fonte http://digilander.libero.it/uzappi/C/C-main.html
Mettendo argv[0] nel codice precedente recuperi il nome del programma (intero con tutto l'indirizzo).

Rispondi quotando