// education

함수 기초와 모듈화 프로그래밍

**함수(Function)**란 특정 작업이나 계산을 수행하는 독립적인 코드 조각으로, 필요할 때마다 이름을 불러(호출) 재사용할 수 있는 기능 모듈입니다.


1. 함수의 기본 구조

// 반환타입  함수이름  (매개변수목록)
int add(int a, int b) {
    int result = a + b;
    return result; // 결과값 반환
}

2. 함수 선언 (Prototype)과 정의의 분리

C 언어 컴파일러는 위에서 아래로 코드를 읽으므로, main() 함수보다 아래에 구현된 함수를 호출하려면 상단에 **함수 원형(Prototype)**을 선언해야 합니다.

#include <stdio.h>

// 1. 함수 원형 선언
int multiply(int x, int y);

int main(void) {
    int res = multiply(4, 5); // 함수 호출
    printf("결과: %d\n", res);
    return 0;
}

// 2. 함수 실제 정의
int multiply(int x, int y) {
    return x * y;
}

3. 함수를 사용할 때의 장점

  1. 코드 중복 제거: 똑같은 코드를 여러 번 반복해서 적을 필요가 없음.
  2. 모듈화 및 가독성: 전체 프로그램을 작은 기능 단위로 나누어 유지보수가 쉬워짐.
  3. 디버깅 용이성: 특정 기능에 오류가 생기면 해당 함수만 수정하면 됨.

4. 자주 묻는 질문 (Q&A)

Q. 함수 반환형에 쓰이는 void의 뜻은 무엇인가요? A. "빈 공간", "없음"을 의미합니다. void print_hello(void) 처럼 쓰이면 "입력 매개변수도 없고, 반환하는 결과값도 없는 함수"라는 의미입니다.

← 이전반복문 (for, while, do-while 구문) 다음 →변수의 범주와 기억 부류 (지역, 전역, 정적 변수)