다중 포인터
포인터도 일종의 변수이기 때문에 당연히 포인터의 포인터도 만들 수 있다. 이렇게 참조가 중첩된 포인터를 다중 포인터라고 한다.
int *ptr = nullptr;
int **ptrptr = nullptr;
int value = 5;
ptr = &value;
ptrptr = &ptr;
cout << ptr << " " << *ptr << " " << &ptr << endl;
cout << ptrptr << " " << *ptrptr << " " << &ptrptr << endl;
cout << **ptrptr << endl;

다중 포인터를 사용한 다중 배열 선언
다중 포인터를 사용해서 다중 배열을 선언할 수도 있다.
int row = 3;
int col = 5;
int *r1 = new int[col] {1, 2, 3, 4, 5};
int *r2 = new int[col] {6, 7, 8, 9, 10};
int *r3 = new int[col] {11, 12, 13, 14, 15};
int **rows = new int*[row] {r1, r2, r3};
delete[] rows;
delete[] r1;
delete[] r2;
delete[] r3;
'C++ 학습' 카테고리의 다른 글
| [C++] std::vector (0) | 2023.11.24 |
|---|---|
| [C++] std::array (0) | 2023.11.24 |
| [C++] void pointer (0) | 2023.11.23 |
| [C++] for each (0) | 2023.11.23 |
| [C++] 참조 변수 (0) | 2023.11.22 |