我多年来没有使用C语言,现在我再次需要它。我正在尝试构建一棵红黑树,但由于一开始缺少关于“结构”的信息,所以我一开始陷入困境。
请看一下我的“结构”声明,它们很简单。这是Red_black_tree.c中包含的头文件。
#define BLACK 0 //defalut color #define RED 1 // struct Node { //create a black node by default, to have a red one look at "create_red_node" struct Node *left = NULL; struct Node *right= NULL; int key = 0; int value = 0; char color = BLACK; }; struct Root_t { struct Node* Root; }; struct Node* create_node () { struct Node* black = (Node*) malloc (sizeof(Node)); return black; } struct Node* create_red_node () { struct Node* red = create_node (); red->color=RED; return red; } Root_t* create_tree () { struct Root_t* fake=(Root_t*) malloc (sizeof(Root_t)); struct fake->Root->left=create_red_node (); struct fake->Root->right=create_red_node (); return fake; }
我用“ gcc Red_black_tree.c -o RBTree编译”。GCC表示类似“预期”;在声明列表末尾” 7次,或“必须使用'struct'标记来引用类型...”,“预期标识符...”。您怎么看,创建RBTree很好吗?
我多年来没有使用C语言,现在我再次需要它。我正在尝试构建一棵红黑树,但由于一开始缺少关于“结构”的信息,所以我一开始陷入困境。看看我的“ ...
在C中,您无法在定义struct
的成员时进行分配