C
포인터배열과 더블포인터
GOD03219
2017. 12. 29. 20:11
#include<stdio.h>
#pragma warning(disable:4996)
void main() {
int a=1;
int b=2;
int c=3;
int*p[3] = {&a,&b,&c}; // 포인터 배열 > 포인터가 3개인 배열 >int* int* int*
int **pp = &p[0]; // 포인터포인터 > 포인터(int*)를 가르키는 포인터
printf("%d\t%d\t%d\n", pp[0], pp[1], pp[2]); // 주소값
printf("%d\t%d\t%d\n", *pp[0], *pp[1], *pp[2]); // 값
}
int a=10;
int *p=&a;
int **pp;
pp=&p; 이면,
**pp=*p=a=10
*pp=p=&a // a의 주소값 > pp가 가르키고 있는 1차원 포인터가 가르키고 있는 주소값
pp=&p // p의 주소값