온라인 컴파일러는 구름 IDE를 사용해도 되고, 상단 고정글에 있는 glot.io를 사용해도 됩니다. 회원 가입하면 코드를 저장할 수 있습니다.
int main() 형식은 비표준입니다.
C 언어 표준에서는 두 가지 형식으로 제안하고 있습니다.
int main(void)로 써서 전달할 인수가 없다는 사실을 명확하게 선언하는 것과
기본 형식으로
int main(int argc, char *argv[])
을 써야 합니다. 둘 중에 하나만 써야 합니다.
glot.io의 기본 코드는 main(void)로 되어 있습니다.
C 언어 표준에는 명확하게 두 가지 타입만 쓸 것을 명시하고 있습니다.
5.1.2.2.1 Program startup
The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:
int main(void) { /* ... */ }
or
with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;
or
<C 언어 코딩 도장>은 가능하면 C 언어 표준 명세에 따라 설명하려고 노력했습니다.in some other implementation-defined manner.
void main() 형식도 쓰이지만, 표준안에 따르면 main은 반드시 int를 반환 형식으로 가져야 하므로 컴파일러가 내부적으로 int로 바꿔서 처리하게 됩니다.
C 언어를 주로 쓰는 임베디드 업계에서의 불만 중에 하나는 비표준으로 가르치는 C 언어 책이 너무 많다는 사실이고, <C 언어 코딩 도장>은 표준을 중심으로 설명하면서 비표준이지만 알아야 하는 사실은 함께 정리되어 있습니다.
개발툴에 따른 문법은 차이가 없습니다. 1998년에 제정된 ANSI C98 표준안만 지원하는 컴파일러이면 문제가 없고, 현재 대다수 컴파일러는 이를 지원합니다.
표준안 지원은 GCC, Clang이 가장 많이 지원하고 있고, Visual Studio는 부족한 편입니다.