[완료] 구조체 (Single Linked List)에 관한 질문입니다.

hyde1004의 이미지

안녕하세요.

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;
}
planetarium의 이미지

대입연산자로 복사가 됩니다.
"구조체 내의 포인터 내용이 복사가 되지 않고 같은 주소를 가리키게 된다 (얕은 복사). 깊은 복사를 위해선 일일이 복사해주어야 한다." 는 내용과 헷갈리신듯 합니다.

hyde1004의 이미지

아,, 그렇군요...
항상 깉은 복사만을 사용하다보니, 원래 몰랐던 것인지, 잊고 있었던 것인지...^^

알려주셔서 감사합니다.