리눅스 C언어 활용시 매우 많이 등장하는 개념으로, 반드시 기억하고 있어야 한다.
포인터가 변수의 메모리 주소를 저장한다면,
더블 포인터는 그 메모리 주소를 저장한 포인터의 메모리 주소를 저장한다.
#include <stdio.h>
int main()
{
int *numPtr1; // 단일 포인터 선언
int **numPtr2; // 이중 포인터 선언
int num1 = 10;
numPtr1 = &num1; // num1의 메모리 주소 저장
numPtr2 = &numPtr1; // numPtr1의 메모리 주소 저장
printf("%d\n", **numPtr2); // 20: 포인터를 두 번 역참조하여 num1의 메모리 주소에 접근
return 0;
}
위 코드를 통해 유의해야할 점은 다음과 같다.