Jos*_*eau 0 c gcc binary-tree pointers
我正在尝试为二叉树创建一个新节点,当我尝试对 - > left和 - > right进行赋值时,我遇到了错误.
typedef struct bin_node_t {
data_t data;
bst_key_t key;
struct bin_node *left;
struct bin_node *right;
} bin_node;
Run Code Online (Sandbox Code Playgroud)
是我对bin_node的结构定义.
以下是我正在使用的变量:
bin_node *new;
bin_node *node_array[256];
Run Code Online (Sandbox Code Playgroud)
这是我的变量赋值:
/* ... code to initialize node_array ... */
new = (bin_node *)malloc(sizeof(bin_node));
Run Code Online (Sandbox Code Playgroud)
而这里是我遇到错误的地方:
new->right = node_array[i+1];
new->left = node_array[i];
Run Code Online (Sandbox Code Playgroud)
这是我得到的编译器警告:
huffman.c:99: warning: assignment from incompatible pointer type
huffman.c:100: warning: assignment from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)
我的完整代码位于:
struct bin_node您的代码中没有.更改struct bin_node *left到:
struct bin_node_t *left;
^^^
Run Code Online (Sandbox Code Playgroud)