C언어/구조체와 사용자 정의 자료형

// 구조체 call by value & call by reference

빛나는 미래 2010. 5. 11. 11:04

#include <stdio.h>
 
struct library
{
 int a;
 int b;
};

expresion(struct library call_value)// 함수의 인수를 구조체 변수로 전달 :콜바이 밸유
{

 printf("a=%d b=%d\n",call_value.a,call_value.b);

}

exchange(struct library *pointer)// 함수의 인수를 구조체 포인터를 전달 :
{

 int temp;

 temp=pointer->a;
 pointer->a=pointer->b;
 pointer->b=temp;

}

int main()
{

 struct library lib={1,2};
 expresion(lib);//구조체 변수(객체) 전달 (값에 의한 복사)
 exchange(&lib);// 구조체변수의 주소값 전달 :콜바이 레퍼런스.
 expresion(lib);
 
 return 0;
}