Как переназначить / назвать argv в main - PullRequest
0 голосов
/ 22 сентября 2019

Чтобы переименовать аргументы в main, я делаю следующее:

int main(int argc, char *argv[]) {
    char * strings[argc];
    for(int i=0; i<argc; i++) strings[i]=argv[i];
}

Из любопытства, почему бы не сработать что-то вроде следующего:

int main(int argc, char *argv[]) {
    char * strings[argc] = argv;
}

1 Ответ

1 голос
/ 22 сентября 2019

Это просто потому, что в C массив не может быть инициализирован с другим массивом.Это не имеет ничего общего с argv или main.Вот более простой пример той же проблемы:

int a[] = {1, 2, 3};

int b[] = a;  // error
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...