더블포인터
Schokolade
2023.04.01
질문 제목 : 더블포인터 더블포인터
질문 내용 : 제가 열강을 보고있는데
double val=3.14;
int *p1=&val;
int **p2=&p1;이렇게 나와있거든요 그런데 포인터 p1은 val의 주소값을 가지고 있으니깐
int **p2=p1;
해야 될것같은데 왜 int **p2=&p1;게되죠??
-
앵겨쪼
주소값은 포인터에 담는다.. 이게 원칙이겠죠...
주소값을 담은 변수도 메모리에 올가면 주소를 갖게 되고
그러면 그 주소값의 주소값은 어디에 담아야 할까요?
당연히 포인터의 포인터를 사용하겠죠? -
착히
p1이 val 값을 가지고 있지만. 그런다고 int **p2=p1; 을 하는건 아닙니다.
p1에 val에 주소값이 있기 떄문에 p1도 &해줘야 합니다. -
하예진
더블포인터는 싱글포인터의 포인터입니다. 가장 중요한 개념인데요.
따라서 싱글포인터의 주소값을 저장해야 하기 때문에 &p1이 되는겁니다. -
Regretting
이름: 내용
val : 3.14
p1 : &val
p2 : &p1