C++의 포인터 배열에 대해서

2025. 4. 18. 18:37Programming Language/C++

반응형

1. 포인터 배열

포인터 배열이란 포인터들을 원소로 가지는 배열을 말한다.

타입* 배열이름[크기];

실 사용 예시는 아래와 같고

int* arr[3];  // int* 타입의 요소를 3개 갖는 배열

그 형태는

int n1 = 10;
int * ptr1 = &n1;

int n2 = 20;
int * ptr2 = &n2;

int n3 = 30;
int * ptr3 = &n3;

int* ptrArr [3] = {ptr1, ptr2, ptr3};

---------------------------------------------------

 [ ptrArr ]
     │
     │
     ▼
[ ptrArr[0] ]    [ ptrArr[1] ]    [ ptrArr[2] ]
  [ ptr1 ]         [ ptr2 ]         [ ptr3 ]
     │                │                │
     │                │                │
     ▼                ▼                ▼
  [ n1 ]           [ n2 ]           [ n3 ]
    10               20               30
    
-------------------------------------------------

 

2. 포인터 배열과 더블 포인터

사용 방법은 이전 배열과 포인터의 관계와 비슷하다

*(ptrArr + 0) == ptrArr[0] == ptr1 == &num1
*ptrArr[0] == *ptr1 == num1 == 10

 

이제 포인터와 배열의 관계 처럼 더블 포인터와 포인터 배열의 경우는 비슷한 결을 가진다.

포인터 배열을 쓰는것과 비슷하게 더블 포인터를 사용해서 값을 활용하면 된다.

반응형