Call by Value, Call by Reference

public void Add1(int a, int b)
{
  a=a+b;
}

public void Add2(ref int a, ref int b)
{
  a=a+b;
}

main()
{
  int a=3;
  int b=2;

  Add1(a,b);
  Console.WriteLine("a:{0}  b:{1}",a,b);
//a:3  b:2 //변화가 없다. 리턴도 없고..
  Add2(ref a,ref b);
  Console.WriteLine("a:{0}  b:{1}",a,b);
//a:5  b:2 //콜바이레퍼런스 값을 복사해가는게 아닌 주소를 가져가는거라서... 값이 변한다.
}

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available