Основываясь на моем понимании указателя на указатель на массив символов,
% ./pointer one two
argv
+----+ +----+
| . | ---> | . | ---> "./pointer\0"
+----+ +----+
| . | ---> "one\0"
+----+
| . | ---> "two\0"
+----+
Из кода:
int main(int argc, char **argv) {
printf("Value of argv[1]: %s", argv[1]);
}
Мой вопрос: почему argv [1] приемлемо? Почему это не что-то вроде (* argv) [1]?
Мое понимание:
- Возьмите argv, разыщите его.
- Он должен вернуть адрес массива указателей в символы.
- Использование арифметики указателей для доступа к элементам массива.