c언어 함수란?

2022. 5. 12. 16:02C언어

728x90

함수를 선언하는 문법은

 

type name(인수 목록){

    함수의 본체

}

 

- name : 함수의 이름이며 이 이름을 통해 함수를 호출한다. 함수의 이름도 명칭이므로 명칭을 만드는 규칙대로 기억하기 쉽고 의미를 잘 표현할 수 있는 이름을 지어주는 것이 좋다.  (ex EndScore, max)

 

- 인수 목록 : 함수가 해야 할 일의 세부 사항을 지정하며 함수의 작업거리라고 할 수 있다. 함수는 고유의 기능을 가지고 있고 호출부에서는 이 기능을 사용하기 위해 함수를 호출하는데 이때 함수에게 일을 시키기 위해서는 작업에 필요한 값을 전달해야 하는데 그때 인수 목록에 함수에 넣어서 일을 시키고 싶은 값을 넣으면 된다. 인수 목록은 있을 수도 있고, 없을 수도 있다. 

 

- type : 함수가 리턴하는 값의 데이터형이며 함수의 작업 결과라고 할 수 있다. 고유 작업을 실행하고 그 결과를 호출원에게 다시 돌려준다. 위에서 만약 max라는 이름의 함수를 실행시켰다면 큰값에 대한 type를 적어주면 된다. 만약 max가 정수형이면 type는 int, 실수형이면 type는 double를 써주면 된다. 

 

- 본체 : { } 괄호안에 실제 함수의 코드가 위치한다. 이 블록 안에 함수의 고유 기능을 수행하는 코드를 작성하면 된다. 

#include <stdio.h>
#pragma warning(disable:4996);
int Max(int a, int b)
{
     if (a > b) {
          return a;
     } else {
          return b;
     }
}

void main()
{
	int a,b,m;

     printf("두 수를 입력하세요 : ");

     scanf("%d%d",&a,&b);

     m=Max(a,b);

     printf("두 수 중 큰 값은 %d입니다.\n",m);

}

위 소스에는 main 함수 외에도 max라는 사용자 정의 함수가 정의되어 있다. 실행결과는 다음과 같다. 

 

두 수를 입력하세요 : 5 8

두 수 중 큰 값은 8입니다.

 

scanf로 두 개의 정수값을 입력받아 a, b 변수에 저장했는데 5와 8을 입력했다면 a는 5b 에는 8이 될 것이다. 이 두 값을 Max 함수의 인수로 전달하면 Max는 두 값 중 큰 값을 골라 다시 리턴한다. 함수가 실행을 마치고 값을 돌려줄 때는 reutrn 키워드를 사용하는데 이 명령에 대한 자세한 내용은 6차시에서 다루겠다.

 

 

과제 계산기 프로그램 만들기 

입력 출력
 3 * 5  3 * 5 = 15
1000 - 10  1000 - 10  = 990
5 % 2 5 % 2 = 1
999 / 2  999 / 2 = 499
728x90

'C언어' 카테고리의 다른 글

브루트 포스  (0) 2022.05.26
c언어 포인터란?  (0) 2022.05.19
c언어-(함수란?)  (0) 2022.05.12
c언어 5주차 연산자의 종류  (0) 2022.05.12
c언어-(for문)  (0) 2022.03.28