O que significam os parâmetros int argc e char *argv[] na função main() do C++?
Olá a todos! Acabei de começar a estudar C++ e me deparei com uma coisa confusa. Em todos os exemplos, a função main() é declarada de maneiras diferentes. Primeiro vi apenas `int main()`, depois `void main()`, e agora em um projeto vi isso:
```cpp
int main(int argc, char *argv[])
{
// algum código
return 0;
}
```
Estou totalmente confuso. O que é `argc`? O que é `argv`? Para que servem? Por que não é apenas `int main()`? E por que `argv` é um array de pointers para char? Isso são strings? Tentei escrever um programa simples que apenas imprime esses parâmetros, mas não deu certo — o compilador reclamava se eu removia esses parâmetros, e se os deixava, o programa funcionava, mas eu não entendia o que estava sendo impresso.
Expliquem, por favor, para um iniciante: o que são essas coisas, como usá-las corretamente e por que elas existem? Ficarei muito grato por um exemplo simples com explicações.
<<>>
O que são argc e argv? Explicação simples
argc e