ТРАКТОВКА argv КАК УКАЗАТЕЛЯ
Как вы уже знаете, C++ позволяет вам обращаться к элементам массивов, используя указатели. Следующая программа ARGVPTR.CPP трактует argv как указатель на указатель символьной строки (другими словами, указатель на указатель), чтобы вывести содержимое командной строки:
#include iostream.h
void main(int argc, char **argv)
{
int i = 0;
while (*argv) cout "argv[" i++ "] содержит " *argv++ endl;
}
Выберите время, чтобы проанализировать объявление параметра argvв main:
void main(int argc, char **argv)
Первая звездочка в объявлении сообщает компилятору C++, что argv представляет собой указатель. Вторая звездочка сообщает компилятору, что argv представляет собой указатель на указатель — в данном случае указатель на указатель типа char. Представьте argv как массив указателей. Каждый элемент массива в данном случае указывает на массив типа char.