카테고리 없음
04_Q&A int main()함수와 내부 변수 자료형은 별개인가?에 대한 물음.zip
오머리쿠_OmaryKoo
2025. 1. 22. 00:45
Q1. main()함수가 int로 선언되었는데, 그 안에 float나 double 같은 다른 자료형을 사용하는 것이 왜 가능한가?
main() 함수의 반환값 (int)과 함수 내부의 변수 자료형은 별개
- int main()에서 int는 main() 함수의 반환값의 자료형을 나타낸다.
- 그러나 함수 내부에서 선언하는 변수들의 자료형은 제한되지 않는다.
- 즉, main() 함수 안에서는 int, float, double, char 등 다양한 자료형의 변수를 선언하고 사용할 수 있다.
왜 가능한가?
- 함수의 반환값 자료형(int)은 함수가 호출자(운영체제 등)에게 반환하는 값의 자료형을 의미한다.
- 함수 내부의 변수들은 반환값과는 상관없이 독립적으로 선언되고 사용된다.
정상적으로 작동하는 코드 예시


함수 반환값과 내부 변수 자료형의 차이
int main()의 의미:
- main() 함수는 프로그램이 종료될 때 정수 값을 반환해야 한다는 약속이다.
- 보통 return 0;을 사용해서 프로그램이 정상 종료되었음을 반환한다.
함수 내부의 변수들:
- 함수 내부에서 사용하는 변수들의 자료형은 반환값(int)과 관계없이 자유롭게 선언 가능하다.
왜 반환값 자료형과 변수 자료형이 독립적인가?
- 함수의 반환값 자료형은 함수 외부(호출자)와의 약속일 뿐이다.
- 호출자(예: 운영체제)는 main() 함수가 반환하는 값이 정수형(int)이라고 가정한다.
- 따라서 반환값만 int로 맞추면 된다.
- 함수 내부는 독립적인 공간
- 함수 내부는 프로그램이 데이터를 처리하는 로직을 작성하는 공간이다.
- 그 공간에서 사용할 변수들은 필요에 따라 다양한 자료형으로 선언 가능하다.
잘못된 반환값 사용
반환값 자료형(int)과 다른 자료형을 반환하면 오류가 발생.

main() 함수는 int를 반환해야 하는데, 3.1445는 float이라서 반환값의 자료형이 맞지 않다.
✔ main() 함수의 반환값 자료형과 함수 내부에서 선언하는 변수의 자료형은 별개
✔ 함수 내부 변수는 필요에 따라 int, float, double, char 등으로 선언 가능
✔ 반환값(return)만 함수 선언(int main)에 맞게 작성하면 됨.
728x90