|
감사합니다. 전부터 계속 고민해 왔던건데 이제야 해답을 찾았네요.
2번째는 아직 이해가 잘 안가는 부분이 있지만..
다시 고민해보고 다시 물어보겠습니다.
감사합니다.!!
남병철.레조 님이 쓰신 글 :
:
: 1. 링크드리스트로 만든 각 노드는 모두 delete 해야합니다.
:
: 2. 포인터를 전달했다고 하지만 뭔가 잘못 전달되지 않았을까요?
: 시작지점이라면 전역 포인터를 쓰고 있지 않은지요...
:
:
:
:
:
: 김동필 님이 쓰신 글 :
: : List * A;
: : A = new List;
: :
: : Node * B;
: : B = new Node;
: : 이후에 A에 B를 추가하고
: : Node * C;
: : C = new Node;
: : A에 C를 또 추가하고..
: :
: : 즉 A는 B의 주소를 가지고 있고 B는 C의 주소를 가지고 있는
: : 링크드 리스트에서..
: :
: : 만약 이 리스트 전체를 지우고자 할때
: : delete A 만 하면 B와 C가 가지고 있던 자리들이 모두 delete 되는건지..
: : 아님 B와 C를 먼저 delete 하고 A를 delete 하는건지.. 모르겠네요.
: :
: : 또,
: : List * D;
: : D = new List;
: :
: : A가 가진 주소(B)를 D에게 넘겨줘서..
: : D를 이용해서 B와 C를 접근하게 할 수 있게 했습니다.
: : 이때 A를 delete 하니
: : D가 B와 C가 아닌 다른 쓰레기 값을 가지고 있습니다.
: : 왜 그런가요?
: :
: : 소스가 너무 길어서 다 쓰기 힘들어서요.
: : 이렇게 말로 개념만 설명했는데요...
: : 이해가 갈지 모르겠네요..
: :
: : 도와주세요 ^^
: :
|