C언어 - 함수란?

Programming/C 2016. 5. 9. 10:57

<함수란?>

 

특정 작업을 수행하는 코드의 집합이라고 정의할 수 있다. 이런 함수를 사용하는 이유는 대단위의 프로그램은 수정과 유지보수가 어렵기 때문에 기능별로 세분화하는 것이 필요하다.

함수? ... 우리가 함수를 사용했던 적이 있었나있었다. 어디에? 바로 int main()함수이다.

 

함수의 구조)

int main(void)

int : 함수의 결과값에 대해 출력 형태를 나타내는 자료형이다.

main : 함수 이름이다.

(void) : 함수가 입력받을 형태이다.

 

, 그렇다면 우리가 직접 한 번 함수를 만들어보자.

빼기함수를 만들어 두 인자를 입력해서 두 인자를 빼는 함수를 만들어보자!

int minus(int x, int y)

{   // 함수의 시작

   int result;

   result = x - y;

   return result;   // 함수의 결과값으로 result값을 반환한다.

}   // 함수의 끝

이것을 해석하자면 minus함수를 사용할때 minus(2,1) 이렇게 사용했다고 가정하자.

2int x에 있는 x 저장되고, 1int yy에 저장된다. x=2, y=1이 된 것이다.

int result라는 변수안에 x-y를 수행한 후, result에 저장한다.

함수의 결과값으로 result를 반환하면 바로 1이라는 값이 반환된다.

 

<실습>



 

-결과-

 

함수에는 4가지의 형태가 있다.

1. 11형태

int sum(int x, int y)

{

   int result=0;

   result=x+y;

   return result;

}

main()함수 내에서 입력을 주어 대입할 수 있는 x, y값을 준다. 출력 형태까지 있어서 함수 내에서 return 문을 사용하여 결과값을 반환한다.

 

 

 

2. 10형태

int input(void)

{

   int num=0;

   scanf("%d", &num);

   return num;

}

main()함수 내에서 따로 입력받는 값이 없고, 10형태의 함수 내에서 입력 값을 정의해준다. 출력형태가 있기 때문에 return문을 사용하여 결과값을 반환한다.

 

 

 

3. 01형태

void print(int x)

{

    int a=x;

    printf("%d", %a);

 }

출력 형태가 없기 때문에 출력 자체의 값을 01형태 함수 안에서 만들어버린다. 입력형태가 있기 때문에 main()함수에서 입력값을 넘어준다.

 

 

 

4. 00형태

void output(void)

{

   printf("hello");

}

입력형태와 출력형태 모두 없어서 둘 다 main함수에서 값을 주지 않고 00형태에 함수 자체가 그 값을 나타낸다.

 

 

<실습>

함수의 4가지 형태에 대한 실습을 해보자!



-결과-

posted by 경원구