2010. 9. 3. 13:33

값에 의한 전달(call by value)
주소에 의한 전달 (call by address)


 예제 10-15   (출처 : C로 배우는 프로그래밍 기초 p.321)

/*
 파일 : callbyaddrress.c
 목적 : 주소에 의한 호출과 값에 의한 호출을 비교하는 예제
*/
#include <stdio.h>

void incrementbyvalue(int number);
void incrementbyaddress(int *number);
int main(void)
{
 int number = 10;

 printf("함수 main()에서 \n");
 printf("\t지역변수 주소(number) = %p, number = %d\n\n", &number, number);

 incrementbyvalue(number);
 printf("\tincrementbyvalue(int number)를 호출 이후 =>> \n");
 printf("\t지역변수 주소(number) = %p, number = %d\n\n", &number, number);

 incrementbyaddress(&number);
 printf("\tincrementbyvalue(int *number)를 호출 이후 =>> \n");
 printf("\t지역변수 주소(number) = %p, number = %d\n\n", &number, number);

 return 0;
}

void incrementbyvalue(int number)
{
 number++;
}

void incrementbyaddress(int *number)
{
 (*number)++;
}




Posted by Triany