본문 바로가기
XR개발/C언어

10_Q&A 함수원형에 대한 물음.zip

by 오머리쿠_OmaryKoo 2025. 2. 16.

Q1. 함수원형은 왜 필요한가?

함수 원형은 함수를 정의하기 전에 미리 함수의 이름, 반환형, 그리고 매개변수의 타입을 선언하는 것이다. 이를 통해 컴파일러가 해당 함수가 존재한다는 것을 미리 알 수 있도록 해준다.
 

A. 컴파일 순서 문제 해결

C 프로그램은 위에서 아래로 읽으며 컴파일을 진행한다. 만약 main 함수에서 아직 정의되지 않은 함수를 호출하면, 컴파일러는 그 함수가 무엇인지 알지 못해 에러를 발생시킨다. 함수 원형을 사용하면 컴파일러는 그 함수가 나중에 정의될 것임을 알게 되어 에러 없이 컴파일할 수 있다.
 

B. 코드 가독성 및 유지보수성 증가

함수 원형은 프로그램 구조를 더 명확하게 만든다. 여러 파일로 나뉘어진 프로젝트에서는 함수 원형을 사용해 함수 호출을 쉽게 파악할 수 있다.
 

C. 함수 호출의 안전성 확보
함수 원형을 통해 매개변수의 타입과 반환형이 정해지므로, 잘못된 인수를 전달하는 실수를 방지할 수 있다.


알고리즘을 짤 때의 흐름

 1. 문제 정의

먼저 해결할 문제를 명확히 정의한다. 이 코드에서는 섭씨 온도를 화씨로 변환하는 것이 목표이다.

 
2. 함수로 분리할 부분 결정

섭씨-화씨 변환은 반복적으로 사용할 수 있으므로 이를 함수로 분리한다. c_to_f(double c_temp)라는 함수가 이를 수행한다.

 
3. 함수 원형 선언

main 함수에서 c_to_f()를 호출하려면 먼저 해당 함수의 원형을 선언해야 한다.이 선언은 반환형이 double이며, 입력으로 double 타입의 값을 받는다는 것을 의미한다.
 

4. 함수 정의 및 구현

원형을 선언한 후, 실제 기능을 구현하는 함수 정의를 작성한다.


코드 흐름 정리

  1. 함수 원형 선언 (double c_to_f(double c_temp);)
  2. main 함수에서 c_to_f() 호출
  3. 나중에 정의된 c_to_f 함수로 이동해 실제 변환 작업 수행

이러한 흐름을 잘 이해하면 더 복잡한 프로그램에서도 함수의 재사용성과 가독성을 높일 수 있다.

728x90