我正在尝试通过这样做来初始化一棵树:
typedef struct {
char *value;
struct children_list *children;
} tree;
typedef struct t_children_list {
tree *child;
struct t_children_list *next;
} children_list;
void initializeTree(tree *root, char *input)
{
if((root = malloc(sizeof(tree))) == NULL) { abort(); }
root->value = input;
}
void main()
{
// Create the tree
char *input = "aaaaaa";
tree *my_tree = NULL;
initializeTree(my_tree, input);
}
但是我遇到了分段错误。为什么会这样?我正在传递一个指向函数的指针,并在其中保留内存。那是错的吗?