소중한 질문 감사합니다.
Q) main 함수 앞에 int, 마무리 할 때 return 0;은 무조건 써야 하는 건가요?
A) 컴파일러가 자동적으로 처리해 주기 때문에 사용하지 않아도 됩니다.
원칙적으로는 int형을 선언했으면 return 100;(정수형), reutrn 0;과 같이 정수형의 값을 반드시 반환시켜줘야 합니다. 예전에 컴파일러가 강화되었을 때는 오류를 발생시켰는데, 현재는 컴파일러가 완화돼서 오류를 발생시키지 않고 실행파일을 생성해 줍니다.
즉 컴파일러의 version이 업데이트 되면서 이 부분을 자동처리 해 주기에, 아래와 같이 코드를 작성해도(생략해도) 정상적으로 작동을 합니다.
#include <stdio.h>
int main()
{
printf("안녕하세요. \n");
}
즉, 반환형이 없는 위의 코드의 경우 아래와 같이 작성해야 합니다.
#include <stdio.h>
void main()
{
printf("안녕하세요. \n");
}
void main(void)
void main()
main(void)
main()
ð 4가지 다 같은 의미로 원하는 방식으로 사용하면 됩니다.