Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++에서 "int main()"과 "int main(void)"의 차이점은 무엇입니까?

<시간/>

때때로 우리는 두 가지 유형의 주요 함수 정의가 있음을 봅니다. int main() 및 int main(void). 차이가 있습니까?

C++에서는 차이가 없습니다. C에서도 둘 다 맞습니다. 그러나 두 번째 것이 기술적으로 더 좋습니다. 함수가 인수를 사용하지 않음을 지정합니다. C에서 일부 함수가 인수와 함께 지정되지 않은 경우 인수를 사용하지 않거나 여러 인수를 사용하여 호출할 수 있습니다. 이 두 코드를 확인하십시오. (이것은 C++가 아닌 C로 되어 있음을 기억하십시오)

예시

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

출력

This program will be compiled successfully

예시

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

출력

[Error] too many arguments to function 'my_function'

C++에서는 두 프로그램 모두 실패합니다. 따라서 이것으로부터 우리는 int main()이 C에서 임의의 수의 인수로 호출될 수 있음을 이해할 수 있습니다. 그러나 int main(void)은 어떠한 인수도 허용하지 않습니다.