안녕하세요.

 

다차 포인터 변수의 사용방법은 대해 알아보도록 하겠습니다.

 

먼저 다차원 포인터 변수를 사용할 때 핵심은 n차원  포인터에서는 n-1차원 포인터의 주소를 저장하는 것입니다.

 

1차원 포인터 변수에 일반 변수의 주소를 저장하고 2차원 포인터 변수에 1차원 포인터 변수 주소를 저장하는 방법을 보도록 하겟습니다.

 

#include <stdio.h>

int main()

 

  char c1='A'

  char* cp=NULL;

  char ** cpp=NULL;

 

  cp=&c1;

  cpp=&cp;

 

  printf("%c %x %x \n", c1, cp, cpp);  //변수에 저장된 데이터 출력

  printf("%c %x %x \n", & c1, &cp, &cpp); //변수의 주소 출력

  printf("%c %x %x \n", *c1, *cp, *cpp); //문자A를 출력

 

  return 0;

}

 

결과값: A 12ff63 12ff54

              12ff63 12ff54 12ff48

               A A A

 

색깔 칠해진 부분은 변수 c1, 포인터 변수 cp와 cpp를 선언하고 아래와 같이 메모리가 할당됩니다.