반응형

이번 강의에서는 C 언어의 핵심 요소 중 하나인 함수에 대해 배워보겠습니다.

이미 우리는 이전 글에서 변수, 자료형, 연산자, 조건문과 반복문에 대해 학습했으며,

이러한 지식을 바탕으로 더 체계적이고 효율적인 프로그램을 작성하는 방법을 배울 것입니다.

C 프로그래밍 언어 독학 시리즈의 전편을 아직 보지 못하신 분들은 아래 링크를 참고해 주세요!

C 언어 독학 #1 (기초, 쉬운 설명, Hello world)

C 언어 독학 시리즈 #2 (변수, 자료형, 연산자, 기본 입출력, 실습예제)

C언어 독학 완전 기초부터 마스터까지 #3 (조건문과 반복문, 조건문과 반복문을 이용한 실습 예제)

1. 함수란 무엇인가?

프로그래밍에서 함수는 특정 작업을 수행하는 코드 블록입니다. 함수는 코드를 재사용 가능하게 하고, 가독성을 높이며, 프로그램의 구조를 더 체계적으로 만듭니다.

C 언어에서 함수는 **입력(매개변수)**을 받아 **출력(반환값)**을 생성하며, 필요한 경우 아무 입력도 받지 않거나 아무 것도 반환하지 않을 수도 있습니다.

함수의 기본 구조

반환형 함수이름(매개변수) {
    // 실행될 코드
    return 반환값;
}

2. 기본 함수 사용해보기

C 언어에는 printf, scanf 같은 표준 라이브러리 함수가 있지만, 사용자 정의 함수를 직접 만들어 사용할 수도 있습니다.

예제: 간단한 덧셈 함수

#include <stdio.h>

// 함수 정의
int add(int a, int b) {
    return a + b; // 두 숫자의 합 반환
}

int main() {
    int x = 5, y = 10;
    int result = add(x, y); // 함수 호출
    printf("결과: %d\n", result);
    return 0;
}

실행 결과
결과: 15

3. 함수의 구성 요소

  1. 반환형(Return Type)
    함수가 반환하는 값의 데이터 타입입니다. 예를 들어, int, void, float 등이 있습니다.
    • int: 정수 반환
    • void: 반환값이 없음
  2. 함수 이름(Function Name)
    함수의 이름은 코드에서 호출될 때 사용됩니다. 변수 이름처럼 의미 있는 이름을 붙이는 것이 좋습니다.
  3. 매개변수(Parameter)
    함수가 입력으로 받을 데이터입니다. 여러 개의 매개변수를 쉼표(,)로 구분할 수 있습니다.
  4. 함수 본문(Body)
    함수가 실행하는 코드 블록입니다.
  5. 반환값(Return Value)
    함수가 작업을 끝내고 호출한 곳으로 돌려주는 값입니다. 반환값이 없을 경우 void를 사용합니다.

4. 함수의 종류

1. 반환값이 있고, 매개변수가 있는 함수

int multiply(int a, int b) {
    return a * b;
}


2. 반환값이 없고, 매개변수가 있는 함수

void printMessage(char message[]) {
    printf("%s\n", message);
}

3. 반환값이 있고, 매개변수가 없는 함수

int getRandomNumber() {
    return 42; // 임의의 숫자 반환
}

4. 반환값도 없고, 매개변수도 없는 함수

void greet() {
    printf("Hello, World!\n");
}

5. 함수 사용 시 주의사항

  • 함수 이름은 고유해야 합니다.
  • 매개변수와 반환값의 타입을 정확히 정의해야 합니다.
  • main 함수는 항상 프로그램의 시작점이며, 반드시 포함되어야 합니다.

6. 실습: 구구단 출력 함수 만들기

문제

사용자 정의 함수를 사용하여 입력받은 숫자의 구구단을 출력하세요.

코드

#include <stdio.h>

// 구구단 출력 함수
void printMultiplicationTable(int n) {
    for (int i = 1; i <= 9; i++) {
        printf("%d x %d = %d\n", n, i, n * i);
    }
}

int main() {
    int number;
    printf("구구단을 출력할 숫자를 입력하세요: ");
    scanf("%d", &number);
    printMultiplicationTable(number); // 함수 호출
    return 0;
}

실행 결과

구구단을 출력할 숫자를 입력하세요: 7
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
...
7 x 9 = 63

이번 강의에서는 C 언어에서 함수를 정의하고 사용하는 방법을 배웠습니다.

다음 강의에서는 **배열(Array)**과 함수의 연계를 통해 더욱 복잡한 프로그램을 작성해 보겠습니다.

지금까지 배운 내용을 활용하여 간단한 프로그램을 작성해 보세요! 독학의 핵심은 직접 실행해 보는 것입니다. 😊


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 

반응형

+ Recent posts