은근한

C언어 5. 함수 본문

카테고리 없음

C언어 5. 함수

EsJoo 2013. 10. 28. 19:32

함수??  y = x?


함수란?


ㆍ일련의 정의된 절차에 따라 특정한 내용을 수행


함수는 이미 컴파일러에서 제공되는 함수와 사용자가 직접 정의해서 사용하는 함수가 있다.


컴파일러에서 제공하는 함수


ㆍprintf(),scanf(),getchar() 등 이러한 함수는 표준입출력 함수로써 stdio.h 헤더파일을 참조해 정보를 얻는다.


여기서 !!!


사용자가 직접 정의한 함수는 다르다. 사용자가 직접 정의한 함수


함수의 선언 -> 함수 호출 -> 함수 정의


1. 함수의 선언


함수의 선언은 함수 사용을 위해 해당 함수에 대한 정보를 제공하는 역할


선언형태


함수의 리턴형 함수의 이름 (데이터형 변수1,데이터형 변수2.....)     ex) int function(int x,int y....)


   ㆍ함수의 리턴형이란 함수의 수행결과를 나타내는 데이터형 ex) int, char..void



   ㆍ 함수 이름


각각의 함수를 구별하기 위해 함수이름이 담당하기에 각 함수의 이름을 각 함수의 목적과 그 실행에 대한 정보를 얻을수 있다.



2. 함수호출


함수호출은 실제 함수를 사용하는 부분


함수호출은 함수이름과 함수에 약속되어 있는 파라미터에 알맞은 값을 전달하면서 수행된다.


*파라미터 - 파라미터는 함수 선언분에서 괄호안에 해당하는 내용이므로 함수사용에 필요한 일련의 값들이다.


쉽게말해서 


입력값 -> 함수BOX -> 출력값..  입력값으로 함수박스에 들어가 출력으로 나오게 하는 역할이 함수




3. 함수정의


함수의 정의부분은 실제 함수가 동작하기 위해 필요한 코드이다. 함수 호출에 의해 해당 코드가 실행되며 함수의 정의는 머리와 몸체로 나늰다.


머리는 함수 선언에서 지정했던 내용이며, 함수 몸체는 실제 코드로 이루어진다.


형태


함수의 리턴형 함수이름 (데이터형 변수1,데이터형 변수2....)

{            

.......

....

....

 return 수식;


}



ex)


#include<stdio.h>


int sum(int , int );


void main()

{

int result = 0;

int n1,n2;


printf("any number enter : ");

scanf("%d",&n1);

printf("2nd number enter : ");

scanf("%d",&n2);


result = sum(n1,n2);   // 함수 호출 n1값과 n2값의 인자를 넘긴다.

printf("sum is %d",result);

}


int sum (int a,int b)    //n1은 a로 n2는 b로 값을 복사한다.

{

int res = 0;


res = a+b;


return res;

}