함수(function)
●정의:프로그램에서 특정한 작업을 수행하도록 따로 정의해 놓은 독립적인 프로그램의 단위
●목적: 1) 특정 작업을 함수로 처리하여, 반복을 줄이기 위해서
2) 구조적 프로그램으로 모듈화 하여 프로그램의 작성과 수정을 용이하게 하기 위해서
3) 다른 프로그래머에게 라이브러리를 제공하기 위해서
●종류: 1) 라이브러리 함수 2)사용자 정의 함수
- 라이브러리 함수(Library Function): 컴파일러를 제작한 회사에서 제공하는 함수 ex) printf()
- 라이브러리:컴파일된 기계어를 모아둔 파일
- 사용자 정의 함수(User Defined Function):사용자가 필요에 따라 직접 만들어 사용하는 함수
●주의점: return 값은 함수 안에서만 사용할 수 있음!
●사용자 정의 함수
문법
반환값자료형 함수이름()
{
return 반환값;
}
●사용자 정의함수 코드 예제
#include <stdio.h>
int two() // 반환값이 int형인 two 함수 정의
{
return 2; // 2을 반환
}
int main()
{
int num1;
num1 = two(); // int형을 반환했으므로 int형 변수에 저장
printf("%d\n", num1); // 2
return 0;
}
●사용자 정의 함수(매개변수)
문법
반환 값의 데이터 타입 매개 변수
↙ ↙
int add( int num1, int num2) ← add함수의 머리 부분
{
int result;
result = num1 + num2; ← add함수의 본문 부분
return result;
}
주의점: 1) 반환 값의 데이터 타입 = 함수의 데이터 타입
2) 사용자 정의 함수를 main() 함수보다 먼저 써주어야 한다.(뒤에 쓰면 인식 X)
●사용자 정의 함수(매개변수) 코드 예제
#include <stdio.h>
int add(int num1, int num2)
{
int result;
result = num1 + num2;
return result;
}
int main() {
int a = 10, b = 20, hap;
printf("★add함수 호출 프로그램★\n\n");
hap = add(a, b);
printf("%d와 %d의 합은 %d이다", a, b, hap);
return 0;
}
결괏값
매개변수의 개념이 헷갈릴 수 있다.
위의 코드에서 사용자 정의 함수의 add(int num1, int num2)에서는 어떤 값을 담기 위한 그릇 정도라고 이해하면 된다.
main() 함수에서 add(a, b)에서는 그 그릇에 넣을 실제 값이라고 이해하면 된다.
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 14강 매개변수 전달방법 1. Call by value(값에 의한 호출) (0) | 2020.11.02 |
---|---|
C언어 13강 분기문 (break 문 , continue 문, return 문) (0) | 2020.11.02 |
C언어 11강 선행처리기 명령어 #define 함수 (상수치환/매크로) (0) | 2020.10.31 |
C언어 10강+ 배열 응용: 배열의 최댓값구하기 알고리즘 (2) | 2020.10.31 |
C언어 10강 배열(array)/문자열(char 활용) (0) | 2020.10.31 |