ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 포인터 정리(4)
    @ 16. 1 ~ 17. 1/C++ 2013. 1. 31. 23:12

    int *np

    int형 포인터 변수로 4byte이며 int형 주소를 저장한다.

     

    int **npp;

    2차원 포인터 변수로 4byte이고 1차원 포인터 변수의 주소를 저장한다.

     

    int arr[3];

    int형 배열로 int형 메모리 3개를 갖는 12byte 메모리이다.

     

    int arr[2][3];

    int형 2차원 배열로 int형 6개를 갖는 24byte 메모리이다.

     

    int *arr[3];

    int형 주소를 3개까지 저장하는 배열로 각 배열요소(arr[0]...)가 int형 주소를 저장한다. 총 12byte 이다.

     

    int(*arr)[3];

    포인터 변수로 4byte이며 2차원 배열과 같은 열의 개수가 3개인 int형 배열의 시작주소를 저장하기 위해 사용하여  4byte이다.

    예)

    int arr[2][3];

    int(*app)[3] = arr;

     

    int(*arr)[2][3];

    3차원 배열의 주소를 저장하기 위한 포인터 변수로 행(2)과 열(3)인 int형 3차원 배열의 시작주소를 저장하고 4byte이다.

    예)

    int arr[2][2][3];

    int (*app)[2][3] = arr;

     

    int (*arr[2])[3];

    2차원 배열의 주소를 저장하는 배열이고..

    포인터 배열로 8byte이며 변수를 배열로 2개 선언한것..열의 개수가 3개인  int형 2차원 배열의 시작주소 등을 저장한다.

    예)

    int arr1[2][3];

    int arr2[3][3];

    int (*arr[2])[3];

    arr[0] = arr1;

    arr[1] = arr2;

     

    int *(*arr)[3]

    int*형 2차원 배열의 주소를 저장하는 포인터

    포인터 변수로 4byte이다

    예)

    int *arr1[2][3]; //int형 주소를 저장하는 열의 개수가 3개인 배열

    int *arr2[3][3];

    int *(*arr)[3];

    arr = arr1;

    arr= arr2;

     

    int *func();

    이것은 변수나 배열 포인터가 아니라 int 주소를 반환하고 매개변수는 없는 함수..

     

    int(*func)();

    이것은 포인터 변수로 4byte이고 함수의 주소(반환형이 int형이며 함수의 인자가 없는 함수의 주소)를 저장한다.

     

    int(*func[2])()

    함수 포인터가 2개..func[0] func[1] 배열로 8bye이다.

    '@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글

    참조와 포인터(1)  (0) 2013.02.13
    분할컴파일시..extern, static  (0) 2013.02.12
    void 형 포인터 및 함수 포인터(3)  (0) 2013.01.31
    포인터와 문자열(2)  (0) 2013.01.31
    배열(1)  (0) 2013.01.29
Designed by Tistory.