Avatar ·

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