Struct指向指向文件指针的函数?

时间:2013-09-09 20:16:50

标签: c struct

我的任务是编写一个程序,该程序将是链表的不平衡BST,基本上是链表的链表。我的节点结构如下:

typedef struct node
{
    int node_num;
    struct node *right, *left;
} node_t;

现在根据我的教授,我必须使用这个“界面”(他的话不是我的)。

node_t *buildTree(FILE *); 

有人可以解释上面的“界面吗?”我收集到了,

buildTree(File *);

是我的函数声明和

node_t

是我的typedef结构。但我并不理解这一切。我之前没有遇到过这种类型的声明。

我很感激帮助。

3 个答案:

答案 0 :(得分:5)

这是一个函数,给出一个打开的文件(其他人打开文件并给你FILE*)。

您要从该文件中读取一些数据,并将其转换为BST的一组节点。

最后,您将返回指向顶部/头部节点(node_t*

的指针

所以,你从:

开始
node_t* buildTree(FILE* myFile)
{
    node_t* treeRoot = NULL;

    fread( [??], [??], [??], myFile );   /* Read something from the file */

    [...]

    return treeRoot;
}

您使用[...]做的是如何赚取薪水。 :)

答案 1 :(得分:1)

函数node_t *buildTree(FILE *);将接受指向FILE的指针并返回指向您的类型node_t的指针

您的函数将在FILE指针的帮助下构建二叉树,该指针将用于从磁盘中读取实际文件中的数据。指针FILE可以传递给其他函数或递归传递。

返回的指针node_t将指向二叉树的开头。

答案 2 :(得分:1)

node_t* buildTree(FILE *);  // Is a function declaration
    |              |
    |              |
    |              +-------a FILE pointer as argument
    |
    +-------return type: A pointer to struct node_t

基本上,您需要使用file

的输入“构建”树