[완료] 구조체 (Single Linked List)에 관한 질문입니다.
글쓴이: hyde1004 / 작성시간: 화, 2012/03/27 - 11:02오전
안녕하세요.
http://www.winapi.co.kr/clec/cpp2/19-2-1.htm 에서 Single Linked List 코드에 관한 질문이 있습니다.
코드에서 *New=*aNode;
가 있는데요.
단순 구조체변수 끼리는 대입연산자로 복사가 되지 않는것으로 알고 있는데요. 어떻게 해석을 해야 할까요?
코드 동작상으로는 value값을 복사하는 의미인것 같습니다만..
감사합니다.
// 노드 구조체 struct Node { int value; Node *next; }; // Target 다음에 노드를 삽입한다. Node *InsertNode(Node *Target,Node *aNode) { Node *New; New=(Node *)malloc(sizeof(Node)); *New=*aNode; New->next=Target->next; Target->next=New; return New; }
Forums:
대입연산자로 복사가 됩니다. "구조체 내의 포인터
대입연산자로 복사가 됩니다.
"구조체 내의 포인터 내용이 복사가 되지 않고 같은 주소를 가리키게 된다 (얕은 복사). 깊은 복사를 위해선 일일이 복사해주어야 한다." 는 내용과 헷갈리신듯 합니다.
아,, 그렇군요... 항상 깉은 복사만을
아,, 그렇군요...
항상 깉은 복사만을 사용하다보니, 원래 몰랐던 것인지, 잊고 있었던 것인지...^^
알려주셔서 감사합니다.
댓글 달기