C언어 함수의 기초

코딩C언어
읽는데 7분 소요
처음 쓰여진 날: 2026-03-18
마지막 수정일: 2026-03-18
조회수: 9

요약

C언어 함수의 정의, 선언, 호출 방법을 알아봅니다. 매개변수와 반환값, void 함수, 함수 프로토타입 등 정보처리기사 실기 코딩 문제의 기초가 되는 함수 개념을 정리합니다.

함수 핵심 정리

개념설명예시
함수 정의함수의 동작을 작성하는 것int gamja(int a, int b) { return a + b; }
함수 호출정의된 함수를 실행하는 것gamja(3, 5)
매개변수함수가 외부에서 받는 값int a, int b
반환값함수가 호출한 곳에 돌려주는 값return a + b;
void 함수반환값이 없는 함수void print() { ... }

함수란?

함수(Function) 는 특정 작업을 수행하는 코드 묶음입니다. 한 번 정의해두면 필요할 때마다 호출하여 사용할 수 있습니다.

C언어의 함수는 크게 두 종류입니다.

종류설명예시
main 함수프로그램의 시작점. 모든 C 프로그램에 반드시 하나 있어야 함int main() { ... }
사용자 정의 함수개발자가 직접 만든 함수. main에서 호출하여 사용int gamja(int a, int b) { ... }
c
코드 하이라이팅 중...

프로그램은 항상 main 함수에서 시작합니다. main 안에서 사용자 정의 함수를 호출하는 구조입니다.


함수 정의

함수를 정의할 때는 반환형, 함수명, 매개변수, 함수 본문을 작성합니다.

text
코드 하이라이팅 중...
c
코드 하이라이팅 중...
구성 요소의미예시에서
반환형함수가 돌려주는 값의 자료형int
함수명함수의 이름gamja
매개변수함수가 받는 입력값int a, int b
함수 본문함수가 수행하는 코드return a + b;

반환형은 어떻게 정하나?

return으로 돌려주는 값의 자료형을 함수명 앞에 적습니다.

위 예시에서 a + bint + int이므로 결과도 정수(int)입니다. 정수를 반환하니까 함수명 앞에 반환형을 int라고 명시합니다.

c
코드 하이라이팅 중...

avg 함수에서 2.0은 실수(double)입니다. 정수와 실수를 함께 연산하면 결과가 실수가 되므로 반환형을 double로 지정합니다. 자세한 내용은 정수 나눗셈 vs 실수 나눗셈을 참고하세요. printf가 처음이라면 printf() - 서식 지정 출력을 먼저 읽어보세요.

반환형의미return문
int정수를 반환return 정수값;
double실수를 반환return 실수값;
char문자를 반환return 문자;
void반환값 없음return; 또는 생략


함수 호출

함수를 호출하면 프로그램의 실행 흐름이 해당 함수로 이동합니다. 함수가 끝나면 호출한 위치로 돌아옵니다.

c
코드 하이라이팅 중...

실행 흐름

text
코드 하이라이팅 중...

매개변수와 반환값

매개변수 (Parameter)

매개변수는 함수가 외부에서 값을 받기 위한 변수입니다. 함수를 호출할 때 전달한 인자 값이 매개변수에 복사됩니다.

c
코드 하이라이팅 중...

매개변수가 없는 함수도 있습니다.

c
코드 하이라이팅 중...

반환값 (Return Value)

return문은 함수의 실행 결과를 호출한 곳에 돌려줍니다. return이 실행되면 함수는 즉시 종료됩니다.

c
코드 하이라이팅 중...

반환된 값은 호출한 자리에 그대로 들어갑니다.

c
코드 하이라이팅 중...

return 이후의 코드는 실행되지 않습니다

return이 실행되면 함수가 즉시 종료되므로, 그 아래의 코드는 무시됩니다.

c
코드 하이라이팅 중...

void 함수

void 함수는 반환값이 없는 함수입니다. 값을 돌려주지 않고, 출력이나 값 변경 같은 동작만 수행합니다.

c
코드 하이라이팅 중...
반환형return문함수 호출 결과
int, charreturn 값; 필요값을 반환
voidreturn; 또는 생략값 없음

void 함수에서 return;을 쓰면 함수를 중간에 종료할 수 있습니다.

c
코드 하이라이팅 중...


함수 풀이 순서

시험에서 함수가 포함된 코드를 분석할 때는 다음 순서를 따릅니다.

  1. main 함수부터 읽기: 프로그램은 항상 main에서 시작합니다
  2. 함수 호출을 만나면 이동: 호출된 함수의 정의로 이동합니다
  3. 인자값을 매개변수에 대입: 실제 전달된 값을 매개변수에 넣고 분석합니다
  4. return값을 호출 위치에 대입: 반환값을 호출한 자리에 넣고 계속 읽습니다

예제

c
코드 하이라이팅 중...

풀이 과정:

  1. main 시작 → a = 3
  2. square(a) 호출 → square(3) → 매개변수 n = 3
  3. n * n = 3 * 3 = 9 반환
  4. b = 9
  5. a + b = 3 + 9 = 12

출력: 12


다음 학습

함수의 기초를 익혔다면, 다음 개념들을 학습할 수 있습니다.

관련 글

(29개)
제목태그시험
C언어 구조체 배열
C언어
-
C언어 구조체 포인터
C언어
-
C언어 함수 프로토타입
C언어
-