Diferença entre int main () e int main (void)?

O que o seguinte significa:

int main(void) {...} 

VS

int main() {...}

?

eu penso issoint main() {...} significa que main não recebe nenhum parâmetro (da linha de comando), entretanto:

int main(int argc, char *argv[])

faz.

Mas o que fazint main(void) {...} significa ? o que faz ovazio apoia ?

Eu olheiAqui mas é de alguma forma uma questão diferente.