본문 바로가기
프로그래밍언어/C언어[초급]

[C언어][초급] Chapter34. 함수 호출 방법 – 정의한 함수를 실행하는 정확한 방식

by about_IT 2025. 4. 18.

함수를 정의했다면, 이제 그 함수를 실제로 사용하는 방법을 알아야겠죠.
C언어에서 함수를 실행하는 행위를 함수 호출(call)이라고 합니다.

함수 호출은 함수 이름 뒤에 괄호를 붙여 실행하며, 괄호 안에는 필요한 값(매개변수)을 넣을 수 있습니다.


● 함수 호출의 기본 형태

함수이름();

예시:

void say_hello() {
    printf("Hello!\n");
}

int main(void) {
    say_hello(); // 함수 호출
    return 0;
}

정의된 함수 이름을 그대로 쓰고, 괄호를 붙이면 해당 함수가 실행됩니다.


● 매개변수가 있는 함수 호출

void print_age(int age) {
    printf("나이: %d세\n", age);
}

int main(void) {
    print_age(25); // 25 전달
    return 0;
}

호출할 때 괄호 안에 값을 넣으면, 정의된 매개변수로 전달됩니다.


● 반환값을 받는 함수 호출

int double_number(int n) {
    return n * 2;
}

int main(void) {
    int result = double_number(5); // result = 10
    printf("2배: %d\n", result);
    return 0;
}

함수가 값을 반환하면, 변수에 저장하거나 바로 사용할 수 있습니다.


함수는 정의만 해놓고 호출하지 않으면 실행되지 않습니다.
함수 이름 뒤에 괄호를 붙여 정확하게 호출해야 원하는 동작이 수행됩니다.

이제 실습 문제로 함수 호출을 제대로 익혀봅시다!


● 실습 문제

문제 1

인사말을 출력하는 hello 함수를 호출하세요.

 

문제 2

정수 100을 print_number 함수에 전달하여 출력하세요.

 

문제 3

두 수 4와 7을 더한 값을 add 함수로 구하고, 결과를 출력하세요.

 

문제 4

사용자로부터 입력받은 수의 제곱을 square 함수로 계산하고 출력하세요.

 

문제 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(100);
    return 0;
}

 

정답 3

int add(int a, int b) {
    return a + b;
}

int main(void) {
    int sum = add(4, 7);
    printf("합계: %d\n", sum);
    return 0;
}

 

정답 4

int square(int x) {
    return x * x;
}

int main(void) {
    int num;
    printf("정수 입력: ");
    scanf("%d", &num);

    int result = square(num);
    printf("제곱: %d\n", result);
    return 0;
}

 

정답 5

정의만 되어 있는 함수는 main 함수에서 호출하지 않으면 실행되지 않습니다.
즉, 코드에 존재해도 실행 결과에 아무런 영향을 주지 않습니다.