Maison  >  Article  >  développement back-end  >  En C/C++, quelle est la différence entre « int main() » et « int main(void) » ?

En C/C++, quelle est la différence entre « int main() » et « int main(void) » ?

PHPz
PHPzavant
2023-09-03 11:21:091617parcourir

在C/C++中,“int main()”和“int main(void)”之间的区别是什么?

Parfois, nous voyons deux types de définitions de fonctions principales. int main() et int main(void). Alors quelle est la différence ?

En C++, il n'y a pas de différence. En C, les deux sont corrects. Mais la deuxième façon d’écrire est techniquement meilleure. Il précise que la fonction n'accepte aucun paramètre. En C, si une fonction ne spécifie pas de paramètres, elle peut alors être appelée sans paramètre ou avec n'importe quel nombre de paramètres. Veuillez vérifier ces deux codes. (N'oubliez pas qu'il s'agit de code C, pas de code C++)

Exemple

#include<stdio.h>
void my_function() {
   //some task
}
main(void) {
   my_function(10, "Hello", "World");
}

Output

This program will be compiled successfully

Example

#include<stdio.h>
void my_function(void) {
   //some task
}
main(void) {
   my_function(10, "Hello", "World");
}

Output

[Error] too many arguments to function &#39;my_function&#39;

En C++, les deux programmes échoueront. Par conséquent, nous pouvons comprendre qu’en C, int main() peut prendre n’importe quel nombre de paramètres. Mais int main(void) n'autorise aucun paramètre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer