ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Pointer
    Programing/Tips 2012. 7. 3. 14:12

    포인터에 대해 알아보자

     

    1. 배열이란 ? 

    동일한 자료형의 모음

    2. 배열명은 변수가 아니다 : 시작주소

     

    3. 포인터란 ?

     변수(메모리 주소를 저장)
     자료형에 상관없이 4 byte.

     

    ex)

     

    int *p = a;


    a[0] = 10 *(a+0)   p[0], *(p+0)
    a[1] = 20 *(a+1)   p[1], *(p+1)
    a[2] = 30 *(a+2)   p[2], *(p+2)

    a = a+1 (X) : 변수명은 바꿀수 없다.
    p = p+1 (O) : 포인터는 바꿀수 있다.

     

     

    int a[3][4] = {10, .... };

     

    a[0]  - 100 번지

    a[1]  - 116 번지

    a[2]  - 132 번지

     

    int *p = a;

     

    a+1 = 116;

    p+1 = 104 (because p 의 할당은 (int * :  4byte ))

     

    그러므로

    int (*p)[4] = a;

    p : array pointer.

     

    cf )

    int (*p) [4]       vs    int * p[4] - pointer array

               

     p[0]

    p[1] 

    p[2] 

     p[3]

    100      104    108     112

     

    'Programing > Tips' 카테고리의 다른 글

    virtual function (다형성)  (0) 2012.07.05
    Add linenumber on visual c++ 6.0  (0) 2012.07.03
    Google code university  (0) 2012.05.28
    libCurl  (0) 2012.05.06
    reference site for python  (0) 2011.12.12

    댓글

Designed by Tistory.