학습목표
1. 함수의 개념과 중요성을 이해할 수 있다.
2. 함수의 선언, 정의, 호출, 자료 전달 방법에 대해 이해할 수 있따.
3. 표준함수에 대한 헤더 파일을 사용할 수 있다.
4. 변수의 유효번위와 기억 클래스를 이해할 수 있다.
주요 용어
사용자 정의 함수, 함수 호출, 매개변수, return
5.3.4 함수의 호출
- 함수는 일종의 부 프로그램
- 따라서 함수의 호출이 있어야 한다.
- 함수의 호출 방법
>> 함수명과 매개변수 나열
void main() { ↓ int d; d = sum(10,20); ① : 함수의 호출 ④ 호출 완료 후 복귀 printf("%d\n", d); } |
int sum(int x, int y) ② { int z; z = x + y; ↓ return z; } ③ : 다시 void main 안으로 |
(1) 매개 변수
1) 실 매개변수
: 함수를 호출하는 함수(호출함수)에 쓰이는 매개변수
2 )형식 매개변수
: 호출당하는 함수(피 호출함수)에 쓰이는 매개변수
>> 실 매개변수와 형식 매개변수 사이에는 자료형과 변수의 개수가 일치해야 한다.
매개 변수 의 예
void main(){
...
fcn 1 (a, b, c);
// 호출함수 로서 a, b, c는 실 매개 변수
... }
fcn1(int x, int y, double z){
// 피 호출함수로서 x, y, z는 형식매개변수
................... }
>> 자료형이 일치하지 않을 경우는 형 변환이 발생
(2) return 문
피호출함수의 형식매개변수에 의해 계산된 결과값은 호출함수에 반환해야하며,
이때 결과 값 반환 방법으로 return 문이 사용된다.
형식 : return(수식); return 수식 ; 기능 : 함수를 끝내고 제어와 함수 수행결과를 호출 함수로 넘긴다. 사용 예 : return 0; >> 상수 0 반환(정상적인 종료를 의미) return 1; >> 상수 1 반환 return x; >> X 값 반환 return (x+y*z); >> 수식의 결과 값 반환 return (sum(10,20)); >> 다른 함수 호출 |
// return 문의 사용 예
#include <stdio.h>
int max(int x, int y);
int min(int x, int y);
void main(){
int i, j;
printf("정수 2개를 입력하시오 : ");
scanf("%d %d", &i, &j) ;
printf("max(%d %d) = %d \n", i, j, max(i, j));
printf("min(%d %d) = %d \n", i, j, min(i, j)); }
int max(int x, int y) { // max( ) 함수 정의
return( x > y ? x : y) ; } // 최댓값 반환
int min(int x, int y) { // min( ) 함수 정의
if(x>y)
return y; //최솟값 반환
else
return x; } // 최댓값 반환
// 함수의 여러 가지 사용 예
#include <stdio.h>
int sum(int, int);
void test();
void main(){
int s;
test(); // 단순한 함수 호출
sum(10, 20); // 단순한 함수 호출(호출 결과가 저장되지 않음)
s = sum(30, 40); // 함수 호출 결과를 변수 s에 저장
printf("sum from 30 to 40 = %d \n", s);
printf("sum from 100 to 200 = %d \n", sum(100, 200)); }
// 함수 호출 결과를 직접 사용
void test(){
printf("함수의 여러 가지 사용 방법 \n"); }
int sum(int a, int b){
int i, s = 0;
for(i =a; i<=b; i++)
s = s +i;
return s; }
'방송통신대학 > C 프로그래밍' 카테고리의 다른 글
지역변수, 전역변수 variable (0) | 2020.06.02 |
---|---|
값에 의한 자료전달, 참조에 의한 자료전달 (call by value / call by reference) (0) | 2020.06.01 |
사용자 정의 함수 (0) | 2020.05.30 |
표준함수 function (0) | 2020.05.29 |
for문, while문, do~while문 차이점 (0) | 2020.05.28 |