我仍然无法理解如何复制包含 char* 字段\其他结构字段的结构:
typedef struct node{
int id;
struct node* parent
char * nodeName;
struct node* nodes[100];
}NODE,*pNODE;
我想使用这个功能:pNODE copyNode(pNODE oldNode)
1. 我知道首先我应该为新的指针数据进行分配,然后执行以下操作:
pNODE newNode = (pNODE)calloc(1,sizeof(NODE));
newNode.id=oldNode.id
//for the string that I want to copy I should allocate and use strcpy - in order not to point at the same string
但是现在我对父节点迷路了,我该如何复制它?如果我这样做:newNode.parent=oldNode.parent
我指向同一个父对象,如果我更改它的 ID,例如 - 它会同时更改 newNode 和 oldNode 的 ID。怎么复制??没有指向同一个?以及如何复制指针数组?
谢谢你!