具有以下内容,
struct node{
int value;
struct node *next;
};
typedef struct node Node;
typedef struct node *pNode;
Node newNode(){
Node n;
n.value = 5;
return n;
}
pNode newpNode(){
pNode pn = (pNode) malloc(sizeof(Node));
pn->value = 6;
return pn;
}
我在某处读到,如果要由调用函数完成内存释放,我应该使用 newpNode(),否则使用 newNode(),但这并不能帮助我充分理解。
你能给我一些具体的例子,说明何时应该使用 newNode() 以及何时使用 newpNode()?
编辑:在 newpNode() 中忘记了 pn