
Q1. 함수원형은 왜 필요한가?
함수 원형은 함수를 정의하기 전에 미리 함수의 이름, 반환형, 그리고 매개변수의 타입을 선언하는 것이다. 이를 통해 컴파일러가 해당 함수가 존재한다는 것을 미리 알 수 있도록 해준다.
A. 컴파일 순서 문제 해결
C 프로그램은 위에서 아래로 읽으며 컴파일을 진행한다. 만약 main 함수에서 아직 정의되지 않은 함수를 호출하면, 컴파일러는 그 함수가 무엇인지 알지 못해 에러를 발생시킨다. 함수 원형을 사용하면 컴파일러는 그 함수가 나중에 정의될 것임을 알게 되어 에러 없이 컴파일할 수 있다.
B. 코드 가독성 및 유지보수성 증가
함수 원형은 프로그램 구조를 더 명확하게 만든다. 여러 파일로 나뉘어진 프로젝트에서는 함수 원형을 사용해 함수 호출을 쉽게 파악할 수 있다.
C. 함수 호출의 안전성 확보
함수 원형을 통해 매개변수의 타입과 반환형이 정해지므로, 잘못된 인수를 전달하는 실수를 방지할 수 있다.
알고리즘을 짤 때의 흐름

1. 문제 정의
먼저 해결할 문제를 명확히 정의한다. 이 코드에서는 섭씨 온도를 화씨로 변환하는 것이 목표이다.
2. 함수로 분리할 부분 결정
섭씨-화씨 변환은 반복적으로 사용할 수 있으므로 이를 함수로 분리한다. c_to_f(double c_temp)라는 함수가 이를 수행한다.
3. 함수 원형 선언

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

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

코드 흐름 정리
- 함수 원형 선언 (double c_to_f(double c_temp);)
- main 함수에서 c_to_f() 호출
- 나중에 정의된 c_to_f 함수로 이동해 실제 변환 작업 수행
이러한 흐름을 잘 이해하면 더 복잡한 프로그램에서도 함수의 재사용성과 가독성을 높일 수 있다.
'XR개발 > C언어' 카테고리의 다른 글
C언어 포인터 (0) | 2025.03.01 |
---|---|
C언어 배열 (2) | 2025.02.28 |
09_Q&A 알고리즘에 대한 물음.zip (0) | 2025.02.15 |
08_Q&A 함수 매개변수 선언에 대한 물음.zip (0) | 2025.02.12 |
07_Q&A if else & switch문 비교에 대한 물음.zip (0) | 2025.02.10 |