|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 40
|
[C] Domanda banale su argv
Ciao a tutti e' da poco che TENTO di programmare in C ed avrei un dubbio a riguardo.
argv[ ] e' un array di puntatori a carattere ove ogni puntatore punta al primo carattere della stringa relativa all'argomento, giusto? Questo significa che l'array argv contiene dei puntatori, giusto?. Allora perche' se scrivo argv[1] mi restituisce il primo argomento e non l'indirizzo al primo argomento? Non sarebbe piu' corretto scrivere *argv[1] per riferirsi all' argomento? Esempio: printf ("%s", argv[1]) funziona, ma non sarebbe corretto scrivere printf ("%s", *argv[1]) ? Grazie anticipatamente Saluti |
|
|
|
|
|
#2 | |||
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Quote:
Quote:
Quote:
Se le passassi *argv[1] le passeresti un intero. Perchè argv[1] è un puntatore a carattere, *argv[1] se mai ti dovrebbe stampare un carattere ma tu mettendo %s le dici che le passerai una stringa. Infatti se lo fai ricevi un errore. Non ho provato ma potresti fare questa prova: printf ("%c", *argv[1]); |
|||
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 40
|
Credo proprio tu abbia ragione.
Facendo queste prove ottengo: printf ("\n%c\n", *argv[0]); . (lancio il programma dalla directory corrente) printf ("\n%s\n", argv[0]); ./nomeprogramma printf ("\n%p\n", argv[0]); 0x7fff46d06679 (indirizzo) printf ("\n%d\n", *argv[0]); il decimale in ASCII del punto Fugato ogni dubbio GRAZIE |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:42.




















