맨위로

C PROGRAMMING - 기초2012. 4. 22. 16:06

안녕하세요 ? 이번 강의에서는 C언어의 매개변수값 전달에 대해서 알아보도록 하겠습니다. 이글은 간단한 코드로 C언어의 매개변수의 값을 전달하는 방법에 대해서 간단하게 알아보겠습니다. 이번글은 가볍게 보시면 됩니다. 먼저 강의를 시작하기 전에 이블로그에 와주신 모든 분들께 감사의 말씀드립니다. 이제 본격적으로 C언어 매개변수값 전달에 대해서 알아보도록 하겠습니다. 

매개변수값 전달

앞에 C언어 - 함수 부분에서 main 에서의 i와 power 함수에서의 i는 서로 다르다는것을 알았습니다. 이렇게 되는 이유는 C언어의 매개변수값 전달 방법에 있습니다. 전달방법에 대해서는 다음과 같습니다.

 C언어에서는 함수를 호출 할때 변수명을 넘겨주지 않고 값을 넘겨주게 됩니다. 

라고 부릅니다. 자세한 설명은 필요가 없고 여기서 알아야 할부분은 "C언어 에서는 함수를 호출 할때 변수명을 넘겨주지 않고 값을 넘겨주게된다 " 입니다.

Call By Value 를 사용하는 이유는 변수를 적게 사용할수 있게되어서 프로그램을 효과적이고 간결하게 작성할수 있습니다. 그럼 이제 Call By Value 를 이용해서 power 함수를 간결하게 고쳐보도록 하겠습니다. 간결하게 고쳐진 power 함수는 다음과 같습니다. 변화된 부분을 파란색으로 표시하고있습니다.

int power(int base, int n)

{

int p; 

for (p = 1; n > 0; --n)

p = p * base;

return p;

}

변화된 부분을 살펴보면 i변수를 사용하지 않고 n변수를 이용하고 있습니다. 여기서 함수내에서 아무리 값을 변환 시켜도 main에 선언되어있는 n의 값에는 아무런 영향을 미치지 않는다는 함수의 Call By Value 를 잘이용하고 있습니다. 이렇게 함수내애서 변화시킬수있는 변수를 지역(Local)변수라고 합니다. 


  • Call by Value를 이용한 코드는 정상 작동합니다.

         

        

프로그램을 작성하다보면 함수 바깥에 있는 변수의 값을 변화시킬 필요를 느낄것입니다. 이것을 포인터나 배열을 이용해서 값을 바꿀수 있습니다. 포인터나 배열은 나중에 알아보게 될것입니다. 


마치며


지금 까지 함수의 매개변수값 전달에 대해서 알아보았습니다. 이번글에서는 "C언어에서는 함수를 호출 할때 변수명을 넘겨주지 않고 값을 넘겨주게 됩니다. " 이 부분을 알아두시면 됩니다.

'C PROGRAMMING - 기초' 카테고리의 다른 글

C언어 - 외부변수  (0) 2012.06.07
C언어 - 문자 배열  (0) 2012.05.26
C언어 - 매개변수값 전달  (0) 2012.04.22
C언어 - 함수  (0) 2012.04.21
C언어 - 배열  (6) 2012.03.01
C언어 - 문자 입출력  (2) 2012.02.21

Posted by STIH

댓글을 달아 주세요