Чому argvоголошується як "вказівник на вказівник на перший індекс масиву", а не просто "вказівник на перший індекс масиву" ( char* argv)?
Чому тут потрібне поняття «вказівник на покажчик»?
char* argv[]ставить простір у неправильне місце. Скажіть char *argv[], і тепер зрозуміло, що це означає "вираз *argv[n]є змінною типу char". Не зациклюйтеся на спробі розробити, що вказує, що таке вказівник, і так далі. У декларації йдеться про те, які операції ви можете виконати над цією справою.
char * argv[]аналогічну конструкцію C ++ std::string argv[], і може бути простіше розібратися. ... Тільки не починайте насправді писати це саме так!
char &func(int);який не &func(5)має типу char.

char* argv[]абоchar**. Це вказівник на вказівник на персонажа; конкретно зовнішній покажчик вказує на перший вказівник у масиві, а внутрішній покажчик вказує на перші символи нульових кінцевих рядків. Тут немає ніяких індексів.