본문 바로가기
Coding/C

C언어 - 함수 (function)

by ZaRi 2023. 5. 24.

 

 저번 포인터에 이어서 이번엔느 함수에 대해 알아보겠습니다.

 

 


함수

 함수는 코드들의 집합입니다.

 

 

 함수 형태

형태 설명
int ABC(int A, int B)
{
    return A + B;
}
반환형 함수명(매개변수)
{
    함수 기능;
}
반환형 함수가 끝나고 값을 반환할때 사용할 자료형
반호나값이 없을 경우: void 사용
함수이름 함수 호출할 때 사용하는 이름
매개변수 함수 호출할 때 값을 저장하는 변수
함수 기능 함수의 코드들이 작성될 영역

 

 

함수 호출할 때

형식 설명
C(변수) = ABC(44,55) 반환값이 존재할 때
ABC(44,55) 반환값이 존재하지 않을때

 

 파이썬과 다르게 C언어는 반환형을 앞에 써주어야 한다.

 그러면 몇가지 활용을 해보겠습니다.

 

 

 

활용하기

이더리움이 현재 1171달러일 때 내가 지금 가지고 있는 돈으로 몇개를 살수 있을지 반환하는 함수를 만들어보겠습니다.

 

 

 

#include <stdio.h>

double ETHUSDT(double usdt)
{
	return usdt / 1171;
}

int main()
{
    double money, buy;
    
    printf("현재 갖고 있는 USDT: ");
    scanf("%lf", &money);
    buy = ETHUSDT(money);
    printf("현재 살수 있는 ETH 값: %f\n", buy);
	
	return 0;
}

 

 이렇게 내 돈을 입력하면 살수있는 수량을 반환하도록 하였습니다. 

 이제 출력해보겠습니다.

 

 

1000을-입력-받고-0.853971이-출력됨
결과1

 

그러면 1000을 입력했을때 이더리움 0.85.. 개를 살 수 있다고 출력되었습니다.

 

 반환해서 출력해보았습니다. 그러면 이번에는 반환하지 않는 코드를 만들어보겠습니다.

 

 

 

#include <stdio.h>

void COINUSDT(double usdt)
{
    printf("현재 살수 있는 ETH 값: %f\n", usdt / 1171);
}

int main()
{
    double money;

    printf("현재 갖고 있는 USDT: ");
    scanf("%lf", &money);
    COINUSDT(money);

    return 0;
}

 

 앞에 코드와는 다르게 반환형을 void 로 선언하여 반환형을 없게 만들었습니다.

 그럼 실행해 보겠습니다.

 

 

 

1000을-입력-받고-0.853971이-출력됨
결과2

 

아까랑 결과는 같게 나왔습니다.

하지만 코드를 보면 이 코드는 반환값이 없고 함수에 자체 출력하였습니다.

 

 


 함수에 대해서 정리해보았습니다. 우선 함수는 좀 더 깊게 들어가면 생각할 게 많아지긴 합니다.

 하지만 함수를 사용하게 되면 반복된 작업을 해야할 때 좀 더 편하게 작업할 수 있게 됩니다.

댓글