본문 바로가기
프로그래밍 언어/C

[C언어] 함수

by 느링 2017. 6. 20.

함수(특정 작업을 수행하는 코드의 집합)

함수를 여러 소스 코드를 한대 묶음화한 것을 함수라고 합니다.

함수를 만드는 목적은 특정 기능을 수행하는 묶음을 만들기 위함입니다.

ex) 계산을 수행해주는 코드의 묶음을 함수로 만들기

     로그인을 수행해주는 코드의 묶음을 함수로 만들기

 

함수의 종류

표준 라이브러리 함수 C언어에서 제공 ex) printf( ), scanf( )

사용자 정의 라이브러리 함수 사용자가 직접 만든 함수

 

함수 사용의 장점

- 코드의 안정성이 좋음

- 에러 수정이 쉬움

- 재사용성 향상(궁극적인 목적)

- 복잡성이 낮아짐

- 응집력이 높아짐

 

다양한 형태의 함수들

 

 

* return → 돌아오다, 반환하다, 출력하다

 

①운영체제가 가장 먼저 main( ) 함수를 호출합니다.

②3과 4를 가지고 sum( )함수를 호출해서 x에 3을 저장하고 y에 4를 저장합니다.

*함수이름은 의미있게 지어야 합니다.

③x+y의 결과인 7을 변수 result에 저장합니다.

④result에 저장된 값 7을 변수 answer에 변환합니다.

⑤main( )함수로 돌아와 남은 부분을 수행하고 프로그램을 종료합니다.

 

함수의 형태 4가지

①11형태

출력 형태 : 있음(int) → 1

입력 형태 : 있음(int x, int y) → 1

해석 : x, y를 입력 받아 sum( ) 함수의 기능을 수행하고 int형으로 출력

특이점 : 출력 형태가 있어서 함수 내에서 반드시 return문을 사용해야 함

 

②10형태

출력 형태 : 있음(int) → 1

입력 형태 : 없음(void) → 0

해석 : 입력 받는 값 없이 input( ) 함수의 기능을 처리하고 int형으로 출력

특이점 : 출력 형태가 있어서 함수 내에서 반드시 return문을 사용해야 함

 

③01형태

출력 형태 : 없음(void) → 0

입력 형태 : 있음(int x) → 1

해석 : 값 하나를 입력받아 print( )함수의 기능을 처리하고 출력은 하지 않음

특이점 :출력 형태가 void이므로 함수 내에서 return문이 없어도 됨

 

④00형태

출력 형태 : 없음(void) → 0

입력 형태 : 없음(void) → 0

해석 : 입력 없이 ouput( )함수의 기능을 처리하고 출력은 하지 않음

특이점 :출력 형태가 void이므로 함수 내에서 return문이 없어도 됨

 

 

 

함수 적용 2가지 방법

 

첫 번째 방법 → 함수의 정의 → 함수의 호출

두 번째 방법 → 함수의 선언 → 함수의 호출 → 함수의 정의

 

함수 적용 방법 ①

첫 번째 방법  함수의 정의 → 함수의 호출

함수의 정의 : 함수의 기능을 정의한 문장

함수의 호출 : 정의한 함수를 호출 하는 문장

 

 

 예제)

* 지역변수 -> 해당 지역에서만 사용한다.

 

 

에러시 해결 방법

↓↓↓↓↓↓↓↓

함수 적용 방법 ②

두 번째 방법  함수의 선언 → 함수의 호출 → 함수의 정의

함수의 선언 : 함수의 목록이 있는 문장

함수의 호출 : 정의한 함수를 호출 하는 문장

함수의 정의 : 함수의 기능을 정의한 문장

 

 

※ 함수의 선언

- 함수 적용에 있어서 일반적인 방법입니다.

- 함수 목록들을 직관적으로 볼 수 있습니다.

- 대략적으로 함수의 기능 분석이 가능합니다.

                int sum (int x, int y);

 

1. 함수의 선언

 

2. 함수의 호출

 

3. 함수의 정의