포인터의 포인터
- 포인터 변수를 가리키는 또 다른 변수를 뜻하는 것.
- 흔히 '이중 포인터' 또는 '더블 포인터'라 부름.
- 포인터 변수의 선언에 사용되는 *연산자를 두 개 이어서 선언
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 |