메뉴 건너뛰기

main 함수 관련 문의

okchoi 2020.03.30 10:30 조회 수 : 15

1. int main(void)에서 괄호안의 void를 안써도 오류 없이 컴파일이 되던데 void를 왜 써야하며 어떤 역할을 하는 것인가요?

 

int main() <==> int main(void) : 모두 같은 것입니다.

void는 데이터형의 일종으로 반환형이 없으며 생략해도 무방합니다. 

데이터형은 변수명과 함수명 앞에 올 수 있는데 void는 함수명 앞에서 올 수 있는 데이터 형입니다.

"int Printf(int a)"  => 반환하는 값이 있을 경우 int와 같은 데이터형을 선언해 줍니다.

"int Printf(void)" 또는 "int Printf()"  => 반환하는 값이 없을 경우 void와 같은 데이터형을 선언해 주거나 생략합니다. 

 

2. C언어에서 반환 값을 기입할 때, 그 중 int정수형 을 선언했으면 return 0; 과같이 정수형 값을 반환시켜줘야한다. 라고 했는데 'int'와 'return 0;'을 각각 안써도 컴파일이 잘 되었습니다. int를 안써도 자동으로 DEV C++ 프로그램에서 입력을 해서 컴파일 한 것인가요?..

 

네, 원칙적으로는 int형을 선언했으면 return 0(정수형)과 같이 정수형의 값을 반드시 반환시켜줘야 합니다.

예전에 컴파일러가 강화되었을 때는 오류를 발생시켰는데, 현재는 컴파일러가 완화돼서 오류를 발생시키지 않고 실행파일을 생성해 줍니다. 즉 컴파일러의 version이 업데이트 되면서 이 부분을 자동처리 해 주기에, 아래와 같이 코드를 작성해 줘도 정상적으로 작동을 합니다.

 

#include <stdio.h>

 

int main()

{

        printf("안녕하세요. \n");

}

 

3.void를 메인함수 앞에 적었을 경우 오류가 뜨고 없애면 프로그램이 수행되는데 그 이유가 무엇인가요?

파일저장시 파일형식을 C source  files로 저장해야 에러가 발생하지 않습니다.

확장자를 c로 다시 한번 저장해 보시기 바랍니다.

 

c++에서는 컴파일러가 오류를 발생시킵니다.

 

번호 제목 글쓴이 날짜 조회 수
공지 메인 함수가 2개 라는 에러메시지 발생했을 때 해결 방법 okchoi 2022.05.30 26
공지 [warning] implicit declaration of function 'scanf_s' 해결책 okchoi 2022.05.24 25
공지 main' must return 'int' 오류에 대한 해결방법 okchoi 2022.05.02 970
공지 main 함수 관련 문의 okchoi 2022.05.02 13
공지 Dev C++ 테마파일 적용시키기 okchoi 2022.04.19 58
공지 연산자 나머지(%%) 표현 방법 okchoi 2022.04.11 206
공지 실행파일 사라지는 현상 okchoi 2022.04.10 8
공지 새로운 프로젝트 생성 방법 okchoi 2022.04.04 8
공지 main 함수 앞에 int, 마무리 할 때 return 0;은 무조건 써야 하는 건가요? okchoi 2022.03.22 345
공지 기말고사 Q/A 모음 okchoi 2021.12.03 22
공지 [Error] 'for' loop initial declarations are only allowed in C99 or C11 mode 해결방법 okchoi 2021.11.22 45
공지 scanf_s vs scanf okchoi 2021.10.23 15
공지 압축상태에서 프로젝트 파일 클릭시 일어나는 현상 okchoi 2021.09.24 7
공지 파일 확장명 표시하는 방법 okchoi 2021.09.12 75
공지 (C/C++)맥북에서 C언어,C++ 개발 환경 세팅하기 okchoi 2021.09.04 16
공지 Layout 파일 okchoi 2021.07.31 12
공지 Dev C++ 언어 한글(Korean) 설정 okchoi 2021.03.08 2253
공지 void main() 사용시 오류 okchoi 2020.10.24 287
공지 변수 선언 방법 okchoi 2020.07.09 8
공지 Id returned 1 exit status 오류 해결 방법 okchoi 2020.04.20 10610
2 macOS에서 사용가능한 Xcode okchoi 2020.04.04 7
» main 함수 관련 문의 okchoi 2020.03.30 15
위로