검색결과 리스트
글
<함수란?>
특정 작업을 수행하는 코드의 집합이라고 정의할 수 있다. 이런 함수를 사용하는 이유는 대단위의 프로그램은 수정과 유지보수가 어렵기 때문에 기능별로 세분화하는 것이 필요하다.
함수? 흠... 우리가 함수를 사용했던 적이 있었나? 있었다. 어디에? 바로 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) 이렇게 사용했다고 가정하자.
2는 int x에 있는 x에 저장되고, 1은 int y의 y에 저장된다. 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가지 형태에 대한 실습을 해보자!
-결과-
'Programming > C' 카테고리의 다른 글
C언어 - 1차원 배열 (0) | 2016.05.11 |
---|---|
C언어 - 지역변수, 전역변수, 정적변수, 레지스터 변수 (0) | 2016.05.10 |
C언어 - switch~case문, break문 (0) | 2016.02.06 |
C언어 – do~while문 (0) | 2016.02.05 |
C언어 - if문, if~else문, if~else if문 (0) | 2016.02.05 |
RECENT COMMENT