将指针传递给指向函数的指针时出现分段错误

Getting Segmentation Fault when passing pointer to pointer to a function

当将 "pointer to pointer" 传递给函数进行分割时 fault.Code 正在通过插入函数生成二叉搜索树。 插入函数正在获取指向根节点的指针和它在正确位置插入的键值

#include<iostream>
#include<stdlib.h>
strong text
using namespace std;

struct node
{
    int data;
    struct node* left;
    struct node* right;

};

void insert(struct node** node,int data)    
{
    if( *node == 0 )
    {
        (*node) = (struct node* ) malloc(sizeof(struct node));
        (*node)->data = data;
        (*node)->left = 0;
        (*node)->right = 0; 
    }
    else if(data < ((*node) -> data)){      
        insert((&((*node) -> left)),data);
    }
    else if(data > ((*node)->data)){
        insert((&((*node)->right)),data);
    }
}

void inordertreversal(struct node* node)
{
    inordertreversal(node->left);
    cout << node->data;
    inordertreversal(node->right);
}

int main()
{
    struct node *root = 0;
    insert(&root,10);
    insert(&root,6);
    inordertreversal(root);

    return 0;
}

非常感谢帮助

每次检查下一个节点:

void inordertreversal(struct node* node)
{
    if (node->left)
        inordertreversal(node->left);

    cout << node->data;

    if (node->right)
        inordertreversal(node->right);  
}

在此之后:

$ g++ example.c -o example && ./example
6
10