반응형
함수(Function)
- 자주 반복적으로 사용하는 기능이나 명령어를 하나의 이름으로 묶어서 사용하는 자료구조이다.
- 서로 관련된 명령어들의 집합이다.
- 필요에 의해 호출해서 사용한다.
결과형리턴값 함수명(매개변수 or 인수){
내용정의부;
return 수치 or 식;
}
1. 호출 방법
- Call By Name(이름에 의한 호출) : 매개변수 없이 함수의 이름으로 호출하는 행위이다.
- Call By Value(값에 의한 호출) : 함수를 호출할 때 매개변수를 통해 값을 전달하여 호출하는 행위이다.
- Call By Reference(참조(주소)에 의한 호출) : 함수를 호출할 때 매개변수에 값이 아는 주소를 전달하여 호출하는 행위이다.
2. 함수 구현 방법
- 리턴 값도 없고, 매개변수도 없는 형태
- 리턴 값은 없고, 매개변수는 있는 형태
- 리턴 값은 있고, 매개변수는 없는 형태
- 리턴 값도 없고, 매개변수도 있는 형태
#include<stdio.h>
int add(int, int); // int add() 함수를 선언한다.
int bigger(); // int bigger() 함수를 선언한다.
// main에서 함수를 사용하려면, 선언을 먼저 해 주어야 한다.
int main(){
int a = 10, b = 20, res = 0;
res = add(a, b); // add() 함수를 호출하여 반환값을 res에 저장한다.
printf("%d + %d = %d\n", a, b, res);
printf("10과 20 중 큰 수 : %d\n", bigger());
}
int add(int x, int y){ // return 값이 없을 때는 int add()가 아닌 void add()로 함수를 정의한다.
return x + y; // 'x + y'를 반환한다.
}
int bigger(){
int x = 10, y = 20, big = 0;
if(x > y)
big = x;
else
big = y;
return big;
}
#include<stdio.h>
void greeting(void){
printf("안녕하세요.\n\n");
return;
}
void star(int cnt){ // main()에서 'star(20)'를 호출하였다. 'cnt'에는 20의 값이 저장된다.
for(int i = 0; i < cnt; i++)
printf("*");
printf("\n");
}
// main() 앞에 함수를 정의해 주어도 된다. But, 더 중요한 main()을 앞쪽에 두는 것이 더 좋다.
int main(){
greeting(); // greeting() 함수 호출
printf("오늘은 화요일입니다.\n");
star(20); // star() 함수 호출
printf("내일은 수요일입니다.\n");
printf("그리고 그 다음날은 금요일입니다.\n");
return 0;
}
반응형
'C' 카테고리의 다른 글
[C언어] 실습: 함수를 이용한 덧셈, 뺄셈, 곱셈, 나눗셈 계산하기 - 1 (0) | 2021.02.01 |
---|---|
[C언어] void function(int *x, int *y) (0) | 2021.01.31 |
[C언어] 실습: 소수 출력하기(2~100 자연수) (0) | 2021.01.28 |
[C언어] continue; (0) | 2021.01.26 |
[C언어] 실습: 구구단 출력하기 (0) | 2021.01.26 |