카테고리 없음

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)과 관계없이 자유롭게 선언 가능하다.

왜 반환값 자료형과 변수 자료형이 독립적인가?

  1. 함수의 반환값 자료형은 함수 외부(호출자)와의 약속일 뿐이다.
    •   호출자(예: 운영체제)는 main() 함수가 반환하는 값이 정수형(int)이라고 가정한다.
    •   따라서 반환값만 int로 맞추면 된다.
  2. 함수 내부는 독립적인 공간
    •   함수 내부는 프로그램이 데이터를 처리하는 로직을 작성하는 공간이다.
    •   그 공간에서 사용할 변수들은 필요에 따라 다양한 자료형으로 선언 가능하다.

잘못된 반환값 사용

반환값 자료형(int)과 다른 자료형을 반환하면 오류가 발생.

main() 함수는 int를 반환해야 하는데, 3.1445는 float이라서 반환값의 자료형이 맞지 않다.

 


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

728x90