c언어 프로시저 void함수

안녕하세요.

 

저번에는 c언어의 함수중에서 함수 프로토타입에 대하여 했습니다.

2017/12/17 - [IT/C] - c언어 함수 프로토타입

이번에는 프로시저라는 것에 대하여 말해보려고 합니다.

 

보통함수: 함수를 선언하거나 정의하면 반드시 리턴타입을 명시해야합니다.

 

but

 

프로시저: 값을 리턴하지 않는다. 부수효과만 일으킨다.

프로시저는 값을 리턴하지 않고 리턴하지 않으니 리턴 타입역시 없다. 이런것을 해결하기 위해 void함수가 존재한다.

void = "아무값도 없는 자료형입니다."

이렇게 말로 설명하면 어려운데 막상 예제로 보면 엄청 쉽습니다.(물론 설명을 잘 못해서...)

리턴문에서 사용했던 코드를 변형해서 예제를 하나 만들어보겠습니다.

2017/12/16 - [IT/C] - c언어 return문

예제 코드

 

#include <stdio.h>
double half(int x);
void vo (int number)
{
    printf("숫자를 입력해주세요\n");
    scanf("%d",&number);
    printf("\n");
    printf("%d의 반절은 %.1f입니다.",number,half(number));
}
int main()
{
    int number;
    vo(number);
    getchar();
    return 0;
}
double half(int x)  //함수 정의
{
    return (x/2.0);
}

 

아래는 위의 예제 코드파일입니다.

half.c

 

 

 

위 코드를 보시면 void에 return이 없는 것이 보이실 것입니다.

즉 값을 리턴하지않고 여러가지 문장을 void로 묶어서 이용하는 것이지요.

(위에서 void vo(int number)로 해주었는데요. 이 int number을 int x로 바꾸어주면 그 보이드 함수에 보이는 number 역시 x로 바뀌어야 합니다.)

아래는 코드와 실행했을 때 화면입니다.

잘 출력이 되는 것을 확인할 수 있습니다.

 

Designed by JB FACTORY