我是C的新手,我想在头文件中包含我的结构但是我不确定我在下面做了什么是正确的。我确信我需要在头文件中声明结构,只是不确定它是否是声明结构类型函数的正确方法search()
#ifndef BTREE_H_INCLUDED
#define BTREE_H_INCLUDED
struct bin_tree {
char serial[30];
int socket;
struct bin_tree * right, * left;
};
typedef struct bin_tree node;
node* search(node ** tree, char *val);
#endif
答案 0 :(得分:1)
“我不确定下面的内容是否正确”
是。 请注意,在您想要的情况下传递指针的地址(即search
函数node ** tree
)是有意义的你的函数来改变指针。从语义上讲,search
似乎不是这些函数之一:)
小的(相当装饰性的)改进可能正在改变:
struct bin_tree {
char serial[30];
int socket;
struct bin_tree * right, * left; // <-- avoid declaring pointers this way
};
typedef struct bin_tree node;
成一个typedef
:
typedef struct node {
char serial[30];
int socket;
struct node * right;
struct node * left;
} node;