본문 바로가기

Education

[부스트 코딩 뉴비 챌린지 2020] week6_Q&A : 이중 포인터

반응형

Q.

다른 미션과 달리 미션2에서 StackNode* 가 아닌 StackNode**를 사용해야 하는 이유가 무엇인가요? 자료형**의 명칭, 의미와 사용법, 그리고 자료형*를 사용했을 때보다 이를 사용했을 때의 장점이 궁금합니다.

A.

**는 이중포인터라고 부르시면 됩니다. int** ptr이라고 되어있으면, ptr은 int*를 가리키는 포인터입니다. int*는 int를 가리키는 포인터이죠.

미션2에서 StackNode**를 사용한 이유는, push, pop, peek 함수에서 StackNode*를 input으로 받아와서는 정상적인 동작을 하지 않기 때문입니다. 미션2의 함수를 현재 얼마나 구현하셨는지 알 수 없어 더 이상 자세한 설명을 드리기는 어려울 것 같지만, push와 pop 함수 내에서는 root라는 변수를 *root 형태로 사용해야만 함을 상기해보신다면 input을 StackNode**의 형태로 받아와야 한다는 것을 이해하실 것입니다.

더 궁금하신 점이 있다면 댓글로 말해주세요!

 

반응형