[[프로그래밍_NOTE]]/C , C++

Call by address

갑빠돌격기 2008. 8. 12. 21:10

포인터를 사용하는 이유에는 2가지가 있다.

첫째. Call by Address

    C언어는 Call by Value 만을 지원한다.
    이때문에 함수에서 여러개의 값을 조작하여 리턴받기 위해서는 주소를 파마미터로 넘겨
    여러개의 값을 조작할 수 있다.
    ex ) swap()
/////////////////////////////////////////////
   #include<stdio.h>
   void swap(int* pa , int* pb)
   {
        int temp = *pa;
        *pa = *pb;
        *pb = temp;
   }
   void main()
   {
     int a=10 , b=20;
    printf("a=%d , b=%d\n",a,b);
    swap(&a , &b);
    printf("a=%d , b=%d\n",a,b);
   }
 /////////////////////////////////////////////

사용자 삽입 이미지


둘째. 동적 메모리를 관리하기 위해서