✅ SEO 메타 설명
C언어 함수 정의와 선언, 매개변수와 반환값 개념을 초보자도 쉽게 배우는 완벽 가이드. 다양한 예제 코드와 함께 C언어 함수 활용법을 정리했습니다.
1. C언어 함수란 무엇인가?
C언어 함수는 특정 작업을 수행하는 코드 묶음으로, 프로그램의 구조를 체계적으로 만들고 재사용성을 높이는 핵심 문법입니다.
예를 들어 printf()
와 같은 표준 함수도 결국 함수이며, 우리가 직접 새로운 함수를 정의할 수도 있습니다.
👉 함수의 장점
- 중복 코드 제거
- 유지보수 및 디버깅 용이
- 모듈화된 프로그램 작성 가능
2. C언어 함수의 기본 구조
C언어 함수는 선언 → 정의 → 호출의 세 단계로 나눌 수 있습니다.
// 함수 선언 (프로토타입)
int add(int a, int b);
// 함수 정의
int add(int a, int b) {
return a + b;
}
// 함수 호출
int main() {
int result = add(3, 5);
printf("결과: %d\n", result);
return 0;
}
- 선언: 함수의 원형을 알려줌
- 정의: 실제 동작 코드 작성
- 호출: main() 등 다른 함수에서 사용
3. 매개변수(Parameter)와 인수(Argument)
함수는 외부 값(인수)을 받아서 매개변수를 통해 처리합니다.
int multiply(int x, int y) {
return x * y;
}
int main() {
printf("%d\n", multiply(4, 5)); // 출력: 20
return 0;
}
👉 int x, int y
→ 매개변수
👉 multiply(4, 5)
→ 인수
C언어 함수는 기본적으로 **값에 의한 호출(Call by Value)**을 사용하므로, 함수 내부에서 매개변수를 변경해도 원본 변수에는 영향을 주지 않습니다.
4. 반환값(Return Value)
함수는 return
키워드를 사용해 결과를 반환할 수 있습니다.
int max(int a, int b) {
if (a > b) return a;
else return b;
}
return
뒤에 오는 값은 함수 호출 위치로 전달- 반환값이 필요 없는 경우 →
void
함수 사용
5. 전역 변수와 지역 변수
C언어 함수는 변수의 범위(Scope)도 중요한 개념입니다.
- 지역 변수(Local Variable): 함수 내부에서 선언, 함수 종료 시 소멸
- 전역 변수(Global Variable): 프로그램 전체에서 사용 가능
int global = 10; // 전역 변수
void show() {
int local = 5; // 지역 변수
printf("global=%d, local=%d\n", global, local);
}
6. 표준 라이브러리 함수와 사용자 정의 함수
C언어에는 이미 정의된 표준 함수와, 개발자가 직접 만드는 사용자 정의 함수가 있습니다.
- 표준 함수:
printf()
,scanf()
,strlen()
등 - 사용자 정의 함수: 프로그램 목적에 맞게 직접 작성
7. 함수 활용 예제 실습
(1) 계산기 프로그램
int add(int a, int b) { return a + b; }
int sub(int a, int b) { return a - b; }
int main() {
int x = 10, y = 3;
printf("덧셈: %d\n", add(x, y));
printf("뺄셈: %d\n", sub(x, y));
return 0;
}
(2) 학생 평균 점수 구하기
float average(int total, int count) {
return (float)total / count;
}
int main() {
int sum = 270;
printf("평균: %.2f\n", average(sum, 3));
return 0;
}
8. C언어 함수 작성 시 주의할 점
- 매개변수 타입 일치: 함수 호출 시 인수의 타입이 다르면 오류 발생
- 반환값 누락 주의: 반환형이
int
인데return
이 없으면 경고 발생 - 중복 선언 피하기: 동일한 함수 원형을 여러 번 선언하지 않도록 관리
9. 정리 및 다음 학습 예고
오늘은 C언어 함수의 정의, 선언, 매개변수, 반환값까지 모두 정리했습니다.
함수는 이후 포인터, 구조체, 파일 입출력과 함께 활용될 때 진가를 발휘합니다.
👉 이 글에서는 C언어 배열 완벽 이해: 1차원·2차원 배열과 활용 예제 총정리
👉 다음 글에서는 C언어 포인터(Pointer) 기초를 다루어, 함수와 변수의 메모리 관계를 심층적으로 학습하겠습니다.
🔑 핵심 요약
- C언어 함수는 코드 재사용과 구조화를 돕는 핵심 문법
- 함수는 선언, 정의, 호출 단계로 사용
- 매개변수와 반환값을 통해 값 전달 및 결과 반환 가능
- 전역 변수/지역 변수의 범위 이해 필요
- 표준 함수와 사용자 정의 함수 모두 활용 가능
[…] 포인터 기초 완벽 정리: 선언, 연산, 함수와의 관계2025.08.28C언어 함수 완벽 가이드: 함수 정의, 선언, 매개변수와 반환값 이해하기2025.0…C언어 배열 완벽 이해: 1차원·2차원 배열과 활용 예제 총정리2025.08.28C언어 […]