Con base en mi comprensión de puntero a puntero a un array de caracteres,puntero a puntero con argv
% ./pointer one two
argv
+----+ +----+
| . | ---> | . | ---> "./pointer\0"
+----+ +----+
| . | ---> "one\0"
+----+
| . | ---> "two\0"
+----+
A partir del código:
int main(int argc, char **argv) {
printf("Value of argv[1]: %s", argv[1]);
}
Mi pregunta es, ¿Por qué es argv [1] ¿aceptable? ¿Por qué no es algo así como (* argv) [1]?
mi entendimiento pasos:
- Take argv, eliminar la referencia.
- Debe devolver la dirección de la matriz de punteros a los caracteres.
- Usando aritmética de puntero para acceder a los elementos de la matriz.
+1 para el diagrama. :) – Mysticial