Il mio professore e un paio di studenti stanno discutendo sul fatto che argv
sia terminato o no. Il mio amico ha scritto un piccolo programma e ha stampato null
ma un altro ragazzo ha detto che probabilmente sta semplicemente leggendo nella memoria vuota. Qualcuno può risolvere questa discussione?argv [argc] ==?
risposta
dallo standard:
5.1.2.2.1 all'avvio del programma
...
- argv [argc] è un puntatore nullo.
Quindi sì; argv è nullo terminato
Secondo lo standard, "argv [argc] deve essere un puntatore nullo" (5.1.2.2.1).
Perché e come è diventato standard? Qualche idea? – Reigel
@Reigel: la pagina man di 'exec' del 1979 (http://plan9.bell-labs.com/7thEdMan/v7vol1.pdf) mostra che questo anticipa lo standard di un bel po 'e contiene un possibile suggerimento su perché è così: "Argv è direttamente utilizzabile in un altro execv perché argv [argc] è 0." – bk1e
- 1. Cosa fa initialize_main (& argc, & argv)?
- 2. 'main (int argc, char * argv [])'
- 3. Utilizzo di argc e argv in Eclipse?
- 4. Process argc e argv outside main()
- 5. Che cosa significa int argc, char * argv []?
- 6. Perché MPI_Init accetta puntatori su argc e argv?
- 7. In che modo iOS utilizza argc e argv?
- 8. Definizione proprio funzioni principali argomenti argc e argv
- 9. indefinito argc variabile PHP
- 10. $ argv in una classe
- 11. Puntatore Puntatore con argv
- 12. di Array indice e argc signedness
- 13. di Windows Unicode di comando argv
- 14. Che cosa significa char * argv [] significa?
- 15. Perché controllare se (* argv == NULL)?
- 16. Posso usare l'indirizzo di argc in main come sorgente casuale?
- 17. Le stringhe in argv sono modificabili?
- 18. C++ modifica gli elementi di char * argv []
- 19. esecuzione di un processo con argc = 0
- 20. Gli argomenti char * argv [] nel nodo principale sono terminati?
- 21. Lunghezza massima di ** parametri argv
- 22. Verificando argv [i] esiste C++
- 23. Allocazione memoria e argomento ** argv
- 24. Impostazione argv [0] in Haskell?
- 25. Imposta variabile stringa in C da argv [1]
- 26. Il confronto del parametro di comando con argv [] non funziona
- 27. Output diverso tra argv e normale array di stringhe
- 28. Come scrivere il ciclo for-based basato sull'intervallo con Argv?
- 29. Trovare la dimensione di una stringa in argv usando sizeof
- 30. Come trovare la lunghezza di argv [] in C
Non è più chiaro di così;) – caf
Wow, non lo sapevo. Perché allora l'argc comunque? –
Non so ** perché **. Ma rende la scrittura di alcuni programmi un po 'più semplice evitando di dover camminare sulla matrice 'argv' solo per contare gli argomenti. – pmg