Mi profesor y un par de estudiantes discuten si argv
es nulo o no. Mi amigo escribió un pequeño programa e imprimió null
, pero otro niño dijo que probablemente está simplemente leyendo en la memoria en blanco. ¿Alguien puede resolver esta discusión?argv [argc] ==?
Respuesta
de la norma:
5.1.2.2.1 Programa de inicio
...
- argv [argc] será un puntero nulo.
Así, sí; argv es nulo terminado
De acuerdo con la norma, "argv [argc] será un puntero nulo" (5.1.2.2.1).
¿Por qué y cómo se convirtió en estándar? ¿Alguna idea? – Reigel
@Reigel: la página man para 'exec' de 1979 (http://plan9.bell-labs.com/7thEdMan/v7vol1.pdf) muestra que esto es anterior al estándar en bastante, y contiene una posible pista sobre por qué es así: "Argv es directamente utilizable en otra versión porque argv [argc] es 0." – bk1e
- 1. ¿Cómo usa el iOS argc y argv?
- 2. C++ - int main (int argc, char ** argv)
- 3. ¿Qué significa int argc, char * argv []?
- 4. Usando argc y argv en Eclipse?
- 5. Procesar argc y argv fuera de main()
- 6. ¿Por qué MPI_Init acepta punteros a argc y argv?
- 7. Definición propia funciones principales argumentos argc y argv
- 8. C++ - char ** argv vs char * argv []
- 9. ¿Cómo puedo acceder a argc y argv en C++ desde una función de biblioteca?
- 10. Objetivo-c rutina principal, lo que es: int argc, const char * argv []
- 11. diferencia entre (* ++ argv) [0] y mientras (c = * ++ argv [0])
- 12. un puntero sobre * argv []
- 13. Usando argv en C?
- 14. $ argv en una clase
- 15. de Windows argv Unicode comandos
- 16. ¿Cuál es la forma de acceder a argc y argv dentro de un caso de prueba en Google Test Framework?
- 17. puntero a puntero con argv
- 18. ¿Cuándo puede argv [0] tener nulo?
- 19. argv y calculadora de notación polaca
- 20. ¿Cómo puedo obtener argv [] como int?
- 21. ¿Es posible usar un "argv" Unicode?
- 22. de índice de matriz y argc de signo
- 23. ejecutando un proceso con argc = 0
- 24. ¿Están terminados los argumentos char * argv [] en null principal?
- 25. ¿Qué es char * const argv []?
- 26. Comparar el parámetro de comando con argv [] no funciona
- 27. Manejando `argv` en un programa de línea de comando C
- 28. Cómo escribir el for-loop basado en rango con Argv?
- 29. ¿Cómo puedo pasar main * argv [] a una función?
- 30. convertir cadena a argv en C++
No se vuelve más claro que eso;) – caf
Guau, no sabía eso. ¿Por qué entonces el argc de todos modos? –
No sé ** por qué **. Pero hace que escribir algunos programas sea un poco más fácil al evitar tener que recorrer la matriz 'argv' solo para contar los argumentos. – pmg