У меня есть несколько функций, которые получают доступ к различным аргументам программы через массив argv[]
.В настоящее время эти функции вложены в функцию main()
из-за языкового расширения, которое компилятор предоставляет для таких структур.
Я хотел бы избавиться от вложенных функций, чтобы обеспечить совместимость без зависимости отрасширение языка.
Прежде всего я подумал о указателе массива, на который я бы указывал argv[]
после запуска программы, эта переменная находилась бы вне функции main()
и объявлялась перед функциями так, чтобыон может быть использован ими.
Поэтому я объявил такой указатель следующим образом:
char *(*name)[];
, который должен быть указателем на массив указателей на символы.Однако, когда я пытаюсь указать на argv[]
, я получаю предупреждение о назначении от несовместимого типа указателя:
name = &argv;
В чем может быть проблема?Думаете ли вы о другом способе доступа к массиву argv[]
вне функции main()
?