【发布时间】:2013-04-30 21:56:38
【问题描述】:
有以下,
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
【问题讨论】:
-
您不需要在 C 程序中强制转换
malloc的返回类型。
标签: c pointers reference return