Pointers 将指针从函数返回到主函数

Pointers 将指针从函数返回到主函数,pointers,null,Pointers,Null,我想返回一个指向主函数的指针值,但它只在本地工作,并且root=NULL的值在函数insert外部保持不变 node *insert(int number, node *root ){ if(root==NULL){ root = new node; root->key = number; printf("%d", number); return root;

我想返回一个指向主函数的指针值,但它只在本地工作,并且root=NULL的值在函数insert外部保持不变

   node *insert(int number,   node *root ){



        if(root==NULL){
            root = new node;
            root->key = number;
            printf("%d", number);
            return root;
        } }

参数变量实际上是由函数调用方初始化的堆栈变量

分配根=新节点时;您正在对本地根用户执行此操作

如何从main调用insert? 你可以:

新节点将被分配给newRoot。你甚至可以:

oldRoot= insert(x, oldRoot);
新节点将分配给oldRoot

但稍后删除所有这些内容时会遇到问题…

请注意,正在返回根目录,因此大体上您应该这样称呼它:

node *root = insert(4711, nullptr);

我使用了NulLPTR,因为这是明显的C++,我相信这就是今天应该拼写的。< /P>它的意思是它只在本地工作?如何调用此函数;在函数内部,root=new节点,但当我添加insertnumber、root、current时;printf%d,根目录;根仍然为NULL,但我已经声明root=new节点;

node *root = insert(4711, nullptr);