Sur la base de ma compréhension du pointeur sur pointeur sur un tableau de caractères,pointeur vers pointeur avec argv
% ./pointer one two
argv
+----+ +----+
| . | ---> | . | ---> "./pointer\0"
+----+ +----+
| . | ---> "one\0"
+----+
| . | ---> "two\0"
+----+
À partir du code:
int main(int argc, char **argv) {
printf("Value of argv[1]: %s", argv[1]);
}
Ma question est, pourquoi est-argv [1] acceptable? Pourquoi n'est-ce pas quelque chose comme (* argv) [1]?
Mes étapes de compréhension:
- Prenez argv, déréférencer.
- Il doit retourner l'adresse du tableau de pointeurs aux caractères.
- Utilisation de l'arithmétique du pointeur pour accéder aux éléments de la matrice.
+1 pour le diagramme. :) – Mysticial