大家好我有一些问题:
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 谢谢
答案 0 :(得分:1)
通过使用new,可以为节点动态分配内存。 New返回指向已分配内存的指针。通过使用*表示变量是指针。由于您想要返回该新节点,因此您需要返回的不是NODE,而是返回指向NODE的指针,因此返回类型实际上变为NODE *。如果您不知道指针或动态内存是如何工作的,我建议您查看以下链接: