728x90
프로그래밍을 하다 보면 같은 코드를 여러 번 사용해야 하는 상황이 생깁니다.
이럴 때마다 코드를 복사해서 붙여넣기보다는, 함수로 만들면 훨씬 효율적이고 보기 좋은 코드를 작성할 수 있습니다.
C언어에서 함수는 어떤 작업을 수행하는 독립적인 코드 블록입니다.
함수를 사용하면 재사용성, 가독성, 유지보수성이 모두 좋아집니다.
● 함수 정의의 기본 구조
반환형 함수이름(매개변수) {
// 수행할 코드
}
예시:
void hello() {
printf("Hello, C!\n");
}
- 반환형: 함수가 실행 후 어떤 값을 반환할지 (없으면 void)
- 함수이름: 함수의 이름
- 매개변수: 함수에 전달하는 값 (없으면 비워둠)
● 함수 호출 방법
정의된 함수는 함수 이름 뒤에 괄호를 붙여 호출합니다.
int main(void) {
hello(); // 함수 호출
return 0;
}
● 매개변수가 있는 함수
void print_number(int n) {
printf("입력한 숫자: %d\n", n);
}
호출 예시:
print_number(42);
● 값을 반환하는 함수
int square(int x) {
return x * x;
}
호출 예시:
int result = square(5); // result = 25
함수는 프로그램의 구조를 깔끔하게 만들고, 같은 기능을 반복 작성하지 않아도 되도록 도와줍니다.
다음 단계에서는 매개변수와 반환값을 활용한 다양한 함수 구조를 익히게 됩니다.
이제 실습 문제를 통해 함수 정의와 호출을 연습해보세요!
● 실습 문제
문제 1
인사말을 출력하는 void 함수 hello를 정의하고 호출하세요.
문제 2
정수를 하나 입력받아 출력하는 print_number 함수를 정의하고 호출하세요.
문제 3
두 정수를 더한 값을 반환하는 add 함수를 정의하고 호출 결과를 출력하세요.
문제 4
입력받은 정수의 제곱을 반환하는 square 함수를 정의하고, 7을 넣었을 때 결과를 출력하세요.
문제 5
함수를 사용하지 않고 같은 출력문을 두 번 작성한 경우와, 함수를 사용한 경우의 차이점을 설명해보세요.
▶ 정답 확인하기
정답 1
void hello() {
printf("안녕하세요!\n");
}
int main(void) {
hello();
return 0;
}
정답 2
void print_number(int n) {
printf("입력한 수: %d\n", n);
}
int main(void) {
print_number(10);
return 0;
}
정답 3
int add(int a, int b) {
return a + b;
}
int main(void) {
int sum = add(3, 4);
printf("합계: %d\n", sum);
return 0;
}
정답 4
int square(int x) {
return x * x;
}
int main(void) {
int result = square(7);
printf("제곱: %d\n", result);
return 0;
}
정답 5
함수 미사용: 같은 printf 코드를 두 번 작성해야 함
함수 사용: 한 번만 정의하고 여러 번 호출 가능, 코드 재사용성 향상
728x90
'프로그래밍언어 > C언어[초급]' 카테고리의 다른 글
[C언어][초급] Chapter35. 함수의 매개변수 – 함수에 값을 전달하는 방법 정리 (0) | 2025.04.18 |
---|---|
[C언어][초급] Chapter34. 함수 호출 방법 – 정의한 함수를 실행하는 정확한 방식 (0) | 2025.04.18 |
[C언어][초급] Chapter32. 중첩 반복문 – 반복문 안에 반복문을 넣어 사용하는 방법 (0) | 2025.04.18 |
[C언어][초급] Chapter31. continue문 사용법 – 반복문에서 현재 반복만 건너뛰기 (0) | 2025.04.17 |
[C언어][초급] Chapter30. break문 사용법 – 반복문 탈출하는 방법 정리 (0) | 2025.04.17 |