C언어 강좌
함수(function)
특정 작업을 하는 일련의 코드를 하나의 이름(함수의 이름)으로 묶어 놓은 코드의 집합을 말합니다.
함수는 입력 값을 받아서 처리한 후 하나의 결과값을 반환하는 역할을 합니다.
함수를 사용하는 이유는 무엇일까요?
한번 함수를 정의하면 언제든지 여러 번, 호출해서 실행할 수 있으므로 반복 작업에 많이 쓰입니다.
예를 들어보겠습니다. 과일을 짜서 음료수 즙을 만드는 코드를 작성한다고 상상합시다.
함수를 사용하지 않는다면 일반적으로 아래와 같이 나타냅니다.
사과를 따는 코드 1;
딴 사과를 짜서 즙으로 만드는 코드 1-1;
오렌지를 따는 코드 2;
딴 오렌지를 짜서 즙으로 만드는 코드 2-1;
포도를 따는 코드 3;
딴 포도를 짜서 즙으로 만드는 코드 3-1;
위와 같은 복잡한 코드를 함수를 이용하여 간단하게 표현하겠습니다.
우선 과일을 짜는 함수 squeeze를 만듭니다. 그리고서 squeeze 함수를 호출하여 사용합니다.
squeeze(과일){
과일을 짭니다;}
squeeze(사과) 코드1;
squeeze(오렌지) 코드2;
squeeze(포도) 코드3;
위와 같이 코드를 간결하고 가독성이 좋게 표현할 수 있는 거죠.
(간략하게 설명하여 생략을 많이 하였으니 참고하시기 바랍니다.)
※ 참고
절차지향 언어인 C언어에서는 '함수'
객체지향 언어인 Java에서는 함수를 '메소드(Method)'라고 부릅니다.
함수 형태
출력형태 함수명(입력형태){
수행구문;
return 0;
}
Ex)
int main(void){ printf("Hello World!"); return 0; }
함수 호출 과정
1) int x, int y의 입력 형태를 갖는 plus 함수를 정의합니다.
2) x+y의 결과값을 result에 저장합니다.
3) result를 반환합니다.
4) 운영체제가 main() 함수를 호출합니다.
- 파일의 위에서 아래 방향으로 실행합니다. (절차지향언어)
5) main 함수에서 plus 함수를 호출해서 x=3, y=7을 저장한 뒤 출력합니다.
6) plus 함수를 호출해서 x=13, y=17을 저장한 뒤 출력합니다.
7) 프로그램을 종료합니다.
위의 순서대로 코드를 작성해보겠습니다.
#include <stdio.h> //1) int x, int y의 입력 형태를 갖는 plus 함수를 정의합니다. int plus(int x, int y){ int result; //2) x+y의 결과 값을 result에 저장합니다. result = x + y; //3) result를 반환합니다. return result; } //4) 운영체제가 main() 함수를 호출합니다. int main(void){ //5) main함수에서 plus 함수를 호출해서 x=3, y=7을 저장한 뒤 출력합니다. int answer; answer = plus(3, 7); printf("%d\n", answer); //6) plus 함수를 호출해서 x=13, y=17을 저장한 뒤 출력합니다. answer = plus(13, 17); printf("%d\n", answer); //7) 프로그램을 종료합니다. return 0; }
다음은 출력 결과입니다.
'Code.D IT 강좌 > C언어' 카테고리의 다른 글
[C언어 강좌] 포인터 변수/ Call by Value vs Call by Reference (0) | 2017.06.15 |
---|---|
[C언어 강좌] 배열(1차원 배열, 2차원 배열, 3차원 배열) (0) | 2017.06.12 |
fflush 함수, fflush(stdin)/fflush(stdout) 개념 제대로! (0) | 2017.06.07 |
[C언어 강좌] 제어문 - 반복문(while문, for문, do~while문) (0) | 2017.06.01 |
[C언어 강좌] 제어문 - 조건문(if문, switch문) (0) | 2017.05.30 |