c - 如何在头文件中引用 typedef?

标签 c header typedef

我有一个定义了 typedef 结构的源文件:

typedef struct node {
    char *key;
    char *value;
    struct node *next;
} *Node;

在这个模块中,有一些函数在 Node 上运行并以 Node 作为返回类型。我应该在这个 typedef 的头文件中写什么?

这样写对不对

typedef *Node;

在标题中?

最佳答案

您可以使用:

typedef struct node * Node;

但我建议不要在类型声明中隐藏指针。在变量声明中包含该信息会提供更多信息。

module.c:

#include "module.h"
struct node {
    char *key;
    char *value;
    struct node *next;
};

模块.h:

typedef struct node Node;

某处指针的变量声明:

#include "module.h"
Node * myNode; // We don't need to know the whole type when declaring pointer

关于c - 如何在头文件中引用 typedef?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20120833/

相关文章:

C - printf 输出根据后续代码而变化

c++ - 在 printf 上,用字符大小填充内容

c++ - 命名空间内类的循环依赖问题

swift - SDWebImage 和 Swift

c++ - 模板类型定义的新 "using"语法解决了什么问题?

c - 如何使用 C 在 Linux 中从串口读取数据?

c - C 计算字符串中字符数的函数

angular - 拦截器 Angular 4.3 - 在克隆请求上设置多个 header

c++ - 如何使用haskell从c++头文件中提取函数?

c - typedef 固定长度数组 -> 自动扩展大小?