블로그 이미지
LanSaid

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Recent Post

Recent Comment

Recent Trackback

Archive

2012. 4. 23. 14:47 Study/C++

함수란? 기능의 주체

반환값 함수이름(입력형태)
{   <- 몸체 시작
  몸체      <- 몸체 내용
}   <- 몸체 종료



함수를 정의하는 이유
 - 모듈화에 의한 프로그램의 질 향상이 가능
 - 유지 보수 및 확장의 용이성
 - 문제 해결의 용이성 : "Divide and Conquer!"

4가지 형태의 함수
 - 전달 인자 O, 반환값 O
 - 전달 인자 O, 반환값 X
 - 전달 인자 X, 반환값 O
 - 전달 인자 X, 반환값 X


전달 인자의 종류에 따른 차이
Call by Value
Call by reference




-------
//* 주소전달 예제 - 안됨 배열명을 주소 인자로 받은 함수에서 그 배열명의 첨자 수를 알수 없다?  주소변수 와 상수의 차이로 인한 문제
int max(int a[])
{
 int max = 0;
 int arrcnt = sizeof(a)/sizeof(int);

 printf("arrcnt : %d\n", arrcnt);

 for(int i=0 ; i<arrcnt ; i++)
 {
  if(max < a[i])
   max = a[i];
 }

 return max;
}

int main(void)
{
 int a[] = {4,46,2,5,3,23,56};
 int arrcnt = sizeof(a)/sizeof(int);

 printf("arrcnt : %d\n", arrcnt);

 printf("최대값 : %d\n", max(a));
}

posted by LanSaid