포인터 꿀팁
포인터 꿀팁
===
2학년동안 포인터를 당연히 배우고 쓰는 법도 알고 있었지만
뭔가 명쾌하지 않고 애매한 부분이 있고
쓰다보면 헷갈리는게 있었는데
그걸 딱 뚫어버린 개념을 정리해봄
이걸 2년만에 깨닫다니…
1. 포인터 정의(뇌피셜로)
포인터를 정의해 보면 두가지 영역이 있다.
- 포인터 자체의 주소가 저장되는 영역
- 포인터가 가리키는 영역(data)
(보통 1번은 동그랗게 그리고 2번은 네모로 그림)
(근데 1번을 화살표까지 같이 있는 애라고 생각)
(근데 더 명확하게 이해하려면 그냥 1번을 화살표라고 생각)
그러므로 포인터의 1번을 화살표라고 하고
2번을 data라고 하겠음
2. 포인터가 등호 왼쪽에 있을때랑 오른쪽에 있을 때를 구분
- 왼쪽에 있는애는 1번이고 오른쪽에 있는애는 2번임
예를 들면1 2 3
int x = 1, y = 2; int* px = &x; int* py = &y;
위와 같은 포인터가 있을때
1
px = py
이 경우 px의 화살표를 py가 가리키는 data에 꽂는다는 명령
3. 더블 포인터인 경우
1번이 하나 더있다고 생각하면 됨
4. 결론
- 등호 왼쪽에 있을때는 화살표
오른쪽일때는 데이터 영역 - 사실 더블포인터를 어따쓰지?? 라고 생각했었는데
tree를 만들다가 너무 절실하게 필요한 적이 있었다.
여기에 정리
- 참고 자료 : 내뇌피셜
그래서 전혀 틀린말이 있을수도 있다.
댓글남기기