본문 바로가기

Programming Study/C

포인터의 포인터

포인터의 포인터

  - 포인터 변수를 가리키는 또 다른 변수를 뜻하는 것.

  - 흔히 '이중 포인터' 또는 '더블 포인터'라 부름.

  - 포인터 변수의 선언에 사용되는 *연산자를 두 개 이어서 선언

int **dptr  //int형 이중 포인터 

 

포인터 변수를 가리키는 이중 포인터 변수(더블 포인터 변수)

  - 포인터 변수는 종류에 상관없이 무조건 주소 값을 저장하는 변수이다.

    다만 차이가 나는 것은 포인터 변수가 가리키는 대상일 뿐.

 

int main(void)

{

    double num = 3.14;

    double *ptr = #      // 변수 num의 주소 값 저장

    double **dptr = &ptr;     // 포인터변수 ptr의 주소 값 저장

}

위 코드에서 변수 num과 포인터 변수 ptr의 차이점과 공통점을 정리하면

  - 공통점 : 둘 다 변수이다. 따라서 값의 저장이 가능하다.

  - 차이점 : 저장하는 값의 종류(유형)이 다르다.

 

dptr과 ptr, num의 참조 관계를 나타내면

 

 

다중 포인터 변수

  - 포인터 변수의 선언에 있어서 *연산자가 둘 이상 사용되어 선언되는 포인터 변수를 가리켜 '다중포인터 변수'라고 한다.

    그리고 포인터 변수 선언시 *연산자는 얼마든지 추가 될 수 있다.

 

포인터의 필요성

  - 자료구조를 공부하게 되면 포인터의 필요성을 보다 확실히 느끼고 알 수 있게 된다.

  - 지금으로서는 '함수 내에서 함수 외부에 선언된 변수에 접근하는 방법을 제시해 준다'라고 이야기 할 수 있다.

 

- 윤성우 저, 열혈강의 C프로그래밍 中 -

 

'Programming Study > C' 카테고리의 다른 글

함수 포인터와 void 포인터  (0) 2014.09.03
다차원 배열과 포인터  (0) 2014.09.03
다차원 배열  (0) 2014.09.03
포인터와 함수  (0) 2014.09.02
포인터와 배열  (0) 2014.09.02