2009년 04월 01일
참조 연산자 사용

C언어에서 참조연산자 '&' 의 역할을 알아보자

  1. void main()
    {
        int a = 0x414243;
        int b = 0x515253;
        int *pa = &a;
        int &c = b;
        int d = 0x616263;
        int *pm;
        int u ;

        printf("[ &a:%x]\t[ a:%x]\n", &a, a) ;
        printf("[ &b:%x]\t[ b:%x]\n", &b, b) ;   
        printf("[&pa:%x]\t[pa:%x]\t[*pa:%x]\n", &pa, pa, *pa) ;
        printf("[ &c:%x]\t[ c:%x]\n\n\n", &c, c) ;
       
        pa = &b ;
        c = 0x717273 ;
        printf("[ &b:%x]\t[ b:%x]\n", &b, b) ;   
        printf("[&pa:%x]\t[pa:%x]\t[*pa:%x]\n", &pa, pa, *pa) ;
        printf("[ &c:%x]\t[ c:%x]\n\n\n", &c, c) ;

        for(u = 0, pm = &d; 5 > u; u++)
            printf("pm[%d] : [ %x ] \t[%x]\n", u, pm + u, pm[u]);
        pm[1] = 0x12FF7C;

        printf("[ &b:%x]\t[ b:%x]\n", &b, b) ;   
        printf("[&pa:%x]\t[pa:%x]\t[*pa:%x]\n", &pa, pa, *pa) ;
        printf("[ &c:%x]\t[ c:%x]\n\n\n", &c, c) ;   
    }

(1) 에서  int &c = b 라고 선언하면 c에는 b의 주소가 입력된다. 그 이후 &c c의 값, c는 c가 가르키고 있는 메모리의 값을 나타낸다.

포인터 연산자, 배열 연산자, 참조 연산자는 선언할때와 사용할때 그 쓰임이 다르다는 것을 주의하자.

 

이 글은 스프링노트에서 작성되었습니다.

by buzzan | 2009/04/01 16:49 | software | 트랙백(1) | 덧글(1)
트랙백 주소 : http://buzzan.egloos.com/tb/4278840
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from at 2014/03/11 00:39

제목 : garcinia cambogia
line2...more

Commented by ㄴㅁㅇㄹ at 2012/11/26 19:25
....;; & 는 주소연산자이고
* <- 이게 참조연산자....;;;

:         :

:

비공개 덧글



<< 이전 페이지 | 다음 페이지 >>