Tech Blog/C and C++

C언어 - 함수의 기본에 대해서.

EXPRESSIONS HAVE POWER 2021. 6. 9. 16:29

1. 함수 기본형

#include <stdio.h>

// 선언
void p(int num);

int main(){

    // function
    // 계산기

    int num =2;
    // printf("num 은 %d 입니다.\n", num); // 2
    p(num);

    // 2 + 3 은?

    num = num + 3; // num + 3;
    p(num);

    // 5 - 1 은?
    num -= 1; // num = num - 1 
    p(num);

    // 4 x 3 은 ?
    num *= 3;
    p(num);
    

    // 12 / 6 은?
    num /= 6;
    p(num);

    return 0;
}

void p(int num)
{
    printf("num 은 %d입니다.\n", num);
}

실행결과 

num 은 2입니다.
num 은 5입니다.
num 은 4입니다.
num 은 12입니다.
num 은 2입니다.

2. 반환 값이 있는 함수, 반환 값이 없는 함수

#include <stdio.h>

// 선언
void p(int num);
void function_without_return();
int function_with_return();

int main(){
    // function_without_return();
    // return 0;

    int ret = function_with_return();
    p(ret);

    return 0;
}

// p 함수

void p(int num)
{
    printf("num 은 %d입니다.\n", num);
}

// 반환 값이 없는 함수 

void function_without_return()
{
    printf("반환 값이 없는 함수입니다.\n");
}

// 반환 값이 있는 함수

int function_with_return()
{
    printf("반환 값이 있는 함수입니다.\n");
    return 10;
}

실행결과 

반환 값이 있는 함수입니다.
num 은 10입니다.

3. 파라미터(전달값)가 없는 함수 

#include <stdio.h>

void function_without_params();

int main(void)
{
function_without_params();
}

void function_without_params()
{
    printf("전달값이 없는 함수입니다\n");
}

실행결과

전달값이 없는 함수입니다

4. 파라미터(전달값)가 있는 함수 

#include <stdio.h>

void function_with_params(int num1, int num2, int num3);

int main(void)
{
function_with_params(1, 2, 3);
}

void function_with_params(int num1, int num2, int num3)
{
    printf("전달값이 있는 함수이며, 전달 값은 %d %d %d 입니다.\n", num1, num2, num3);
}

실행결과

전달값이 있는 함수이며, 전달 값은 1 2 3 입니다.

5. 파라미터(전달값)도 받고, 반환값이 있는 함수

#include <stdio.h>

void function_with_params(int num1, int num2, int num3);
int apple(int total, int ate); // 전체 total 갯수에서 ate 갯수를 먹고 남운 수를 반환

int main(void)
{
int ret = apple(5,2); // 5개의 사과중에서 2개를 먹었어요.
printf("사과 5개중 2개를 먹으면 %d개가 남아요.\n",ret);

return 0;
}

int apple(int total, int ate){
    printf("전달 값과 반환 값이 있는 함수입니다.\n");
    return total - ate;
}

실행결과

사과 5개중 2개를 먹으면 3개가 남아요.

------------------------------------------------------------------------------

#include <stdio.h>

void function_with_params(int num1, int num2, int num3);
int apple(int total, int ate); // 전체 total 갯수에서 ate 갯수를 먹고 남운 수를 반환

int main(void)
{

printf("사과 %d개중 %d개를 먹으면 %d개가 남아요.\n", 10, 4, apple(10,4));

return 0;
}

int apple(int total, int ate){
    printf("전달 값과 반환 값이 있는 함수입니다.\n");
    return total - ate;
}

실행결과

사과 10개중 4개를 먹으면 6개가 남아요.

6. 함수로 간단한 계산기 work-flow 구현하기

// 계산기 함수 만들기
#include <stdio.h>

void p(int num);

int add(int num1, int num2);
int sub(int num1, int num2);
int mul(int num1, int num2);
int div(int num1, int num2);

int main()
{
    int num = 2;
    num = add(num, 3);
    p(num);

    num = sub(num, 1);
    p(num);

    num = mul(num, 3);
    p(num);

    num = div(num, 6);
    p(num);


    return 0;
}

void p(int num)
{
    printf("num 은 %d 입니다.\n", num);
}

int add(int num1, int num2)
{
    return num1+num2;
}

int sub(int num1, int num2)
{
    return num1-num2;
}

int mul(int num1, int num2)
{
    return num1*num2;
}
int div(int num1, int num2)
{
    return num1/num2;
}

실행결과

num 은 5 입니다.
num 은 4 입니다.
num 은 12 입니다.
num 은 2 입니다.