C언어와 C++에서 main(void)와 main()은 서로 어떤 차이가 있나요?
C언어는 main(void)로, C++는 main()로 작성하는게 권장 표준사항이라고 어디서 들었는데, 실제로 그런가요? 어디서 확인할수 있을까요?
main(void)나 main()이나 어떻게 쓰던 상관 없는것은 압니다만, 궁금해서 그렇습니다!
55글자 더 채워주세요.
1개의 답변이 있어요!
- #include <stdio.h> // C int test() { } int testVoid(void) { } int main(int argc, char **argv) { int aa; test(); // 당연히 문제가 발생하지 않습니다. test(aa); // 인자가 ()이지만 문제가 발생하지 않습니다. testVoid(); // 문제가 발생하지 않습니다. testVoid(aa); // 인자가 (void)이면 문제가 발생합니다. return 0; }
int main()은 인자로 무엇이든지 받을 수 있는 함수로 해석하지만
int main(void)는 인자로 아무것도 받을 수 없는 함수로 해석합니다.
#include <iostream> // C++ int test() { } int testVoid(void) { } int main(int argc, char **argv) { int aa; test(); // 문제가 발생하지 않습니다. test(aa); // 문제가 발생합니다! testVoid(); // 문제가 발생하지 않습니다. testVoid(aa); // 문제가 발생합니다! return 0; }C++의 경우에는 좀 다릅니다.
C++은 int main()도 인자로 아무것도 받을 수 없는 함수로 해석합니다.