(6)Function

C/C언어 이론 2018. 6. 20. 13:15

함수 (Function) - method(메서드/메소드) : 함수와 같다고 생각


- 특정 행위를 하기 위해 만들어 놓은 기능

> 함수는 사용(호출)하지 않으면 프로그램 수행에 영향이 없다.

> 호출하는 순간, 코드가 함수의 수행문으로 '점프'한 뒤

   수행문이 끝나면 '호출했던 위치'로 돌아온다.


(위 내용이 가장 중요한 내용)


- 함수를 사용하는 이유 (특징)

1. 높은 재사용성

> 한 번 만들어 놓으면 언제든 호출할 수 있다.

2. 중복된 코드의 제거

3. 프로그램의 구조화


- 함수의 기본 구조 (미리 만드는 함수의 구조이다)

반환타입 함수이름(매개변수)

{

수행문

}


1. 매개변수

- 함수의 기능 수행을 위해, 함수가 호출될 때 받을 값을 담는 변수

> 필요하면 사용, 필요 없으면 생략 (누가 정해주는게 아님)

> 개수 제한이 없다.

- 매개변수는 '지역변수'이기 때문에, 함수가 호출됐을 때 생성되고

함수의 수행이 끝나면 자동으로 소멸


2. 함수이름

- 어떠한 기능을 수행하는지 의미를 부여한다. (변수명 짓는 것 처럼)

- 무언가를 수행하기 때문에 보통은 동사가 들어간다.


3. 반환타입 (return type)

- 함수의 기능 수행이 끝나고, 호출했던 위치로 돌려줄(반환해줄) 값의 타입

- 돌려줄 값(반환 값)이 없으면 void라고 명시

- 반환타입이 void가 아니면, '반드시' 함수의 수행문 안에 return이 있어야 함

> return을 이용하여 반환타입과 일치하는 값을 반환해줘야 한다.

> 반환타입이 int이면 return 0; 처럼 정수를 반환해준다.

   별표100개 - 반환되는 값은 여러 개 일 수 없다. (없거나 1개)


- 반환값이 없는 함수(void) : 수행한 결과를 알 필요가 없을 때 (기능 수행만 하면 됨)

- 반환값이 있는 함수 : 수행 결과를 알려줘야할 때

> 결과 값 / 함수 수행의 성공/실패 여부


- 반환타입과 매개변수 유/무에 따른 함수의 형태

1. 둘 다 있다.

2. 둘 다 없다.

3. 반환타입(값)만 있다.

4. 매개변수만 있다.


- 반환타입과 매개변수를 어떻게 사용해야 하는지는 정해진게 없다!!!!!!!!!

> 함수를 만드는 목적에 따라 만드는 사람(나)이 결정하는 것!


- 함수의 세 가지 상태

1. 선언 : '함수의 원형'을 미리 알리는 용도로 쓰인다. 뒤에 세미콜론을 붙인다.

> 함수의 원형 : 반환타입 함수명(매개변수);

2. 정의 : 함수를 만든다. (수행문을 작성)

3. 호출 : 함수를 사용한다. 매개변수가 있으면 함께 전달해야함

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
// [정의] : 이 함수를 사용하려면 이 형태에 맞게 호출을 해야 한다!
int Add( int iNum1, int iNum2 ) 
{    // 매개변수가 2개 있으면, 호출할 때도 매개변수의 타입에 맞는 값을 2개 '전달'해야 한다.
    
    // 매개변수 iNum1과 iNum2는 main()함수의 iNum1,iNum2랑은 다른 변수
    return (iNum1+iNum2);
}
 
// [정의]
// 기능 : 호출되면 Hello를 출력하고 끝
void PrintHello() // 매개변수가 없다! (호출할 때 전달할 값이 없다.)
{
    printf("Hello~~!\n");
    // void : 반환 값이 없다! (호출 후 돌려 받는 결과 값이 없다)
}
cs

 


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

(8)Pointer  (0) 2018.06.20
(7)Array  (0) 2018.06.20
(5)Repetitive  (0) 2018.06.20
(4)Conditional  (0) 2018.06.20
(3)Operator  (0) 2018.06.20

설정

트랙백

댓글