0

我是 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
4

1 回答 1

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;
于 2013-10-03T20:36:47.490 回答