프로그래밍과 잡담

[C언어] 기초 5-2 본문

프로그래밍/C,C++, Win32Api

[C언어] 기초 5-2

크레온 2009. 3. 11. 17:03
다중 포인터.

다중 포인터

이것도 사용하는 방법은 포인터와 같다.

int **p;

이렇게 하면 2중 포인터가 된다..

2중이나 3중은 좀 쓰는데 4중이나 5중같은거는 거의 안쓴다.. 이유는 머리 아프니까..

2중 포인터의 예제

int p = 1;

int *ap;

int **app;

ap = &p;
app = ≈

printf("p의 값 %d \n", p);
printf("p의 주소 값 %x \n",&p);

printf("ap의 값 %d \n", *ap);
printf("ap의 주소 값 %x \n",ap);

printf("app의 값 %d \n", **app);
printf("app의 주소 값 %x \n",app);



출력 결과

p의 값 1
p의 주소 값 12ff60
ap의 값 1
ap의 주소 값 12ff60
app의 값 1
app의 주소 값 12ff54

결과가 이렇게 나온다..

app = &ap를 한 이유는

ap는 그냥 포인터고 app는 이중 포인터라서 &를 붙여가지고 이중으로 만든것이다.

app의 주소값이 12ff54가 나온 이유는 app의 주소값이 찍힌 모양이다..
주소값을 찍기 위해서는 *app로 바꿔야 겠다..;;


printf("app의 주소 값 %x \n",*app);

이렇게 바꾸면 제대로 나온다 12ff60으로


끝...



//////////////////////
기타 궁금한점은 댓글로

반응형

'프로그래밍 > C,C++, Win32Api' 카테고리의 다른 글

[C언어] 기초 7  (0) 2009.03.14
[C언어] 기초 6  (0) 2009.03.11
[C언어] 기초 5-1  (0) 2009.03.11
[C언어] 기초 5  (0) 2009.03.11
[C언어] 기초 4  (0) 2009.03.11
Comments