글
(6)Function
함수 (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 |