본문 바로가기
[C++]

[C++] 배열 포인터

by Hevton 2021. 6. 22.
반응형

1차원 배열을 담기 위해서 포인터를 사용할 수 있다.

그럼 2차원 배열을 담기 위해 이중 포인터를 사용하면 된다? -> X

 

2차원 배열을 포인팅 하기 위해 '배열 포인터' 라는 개념이 필요하다.

int arr[2][3] =             // 배열의 선언
{
    {10, 20, 30},
    {40, 50, 60}
};

int (*pArr)[3] = arr;       // 배열 포인터의 선언
     
printf("%d\n", arr[1][1]);  // 배열 이름으로 참조
printf("%d\n", pArr[1][1]); // 배열 포인터로 참조

 

http://tcpschool.com/c/c_pointerArray_arrayPointer

https://dojang.io/mod/page/view.php?id=312 

http://pelex529.blogspot.com/2009/01/2.html

 

참고로, 처음부터 이중 포인터를 선언하고 거기에 동적할당으로 이차원 배열을 사용하는건 가능하다. 이는 별개인 것을 알고 가야 한다.

기존의 배열을 포인팅하는것과, 새로 배열을 만드는 것은 다르다.

또는 더 정확하게는, 이중 포인터는 본디 '포인터의 포인터' 이기 때문에

포인터 변수를 포인팅 하는데 쓰이는 것이다. 이런 흐름이기에 저렇게 구성될 수 밖에 없다.

반응형

'[C++]' 카테고리의 다른 글

[C++] 구조체와 포인터  (0) 2021.06.22
[C++] 포인터 배열  (0) 2021.06.22
[C++] 포인터 연산  (0) 2021.06.22
[C++] 2진수, 8진수, 10진수, 16진수 표현  (0) 2021.06.22
[C++] 구조체  (0) 2021.06.22