关于使用cpp创建节点

时间:2018-03-25 15:12:01

标签: c++

大家好我有一些问题:

struct NODE{
TYPEDATA data;
NODE *link;
};

NODE* CreateNODE(TYPEDATA n){    //1
struct NODE *node = new NODE;    //2
if(node){
node->data=n;
node->link=NULL;
}
return node;
}

1.为什么我必须在NODE之后为CreateNODE提供* 2.为什么必须使用新的NODE 谢谢

1 个答案:

答案 0 :(得分:1)

通过使用new,可以为节点动态分配内存。 New返回指向已分配内存的指针。通过使用*表示变量是指针。由于您想要返回该新节点,因此您需要返回的不是NODE,而是返回指向NODE的指针,因此返回类型实际上变为NODE *。如果您不知道指针或动态内存是如何工作的,我建议您查看以下链接:

pointers

dynamic memory