c - 在 C 中取消引用指向不完整类型错误的指针

标签 c struct

当我尝试访问我定义的结构中的字段时遇到了这个错误:

struct linkNode{
    struct linkNode *next;
    char *value;
};

在头文件中,我定义了一个名为 linkNode_t 的类型:

typedef struct linkNode linkNode_t;

当我尝试在另一个文件的主体中使用此结构时,其他一切都很好,除非我尝试这样做

linkNode_t* currentpath = /*a pointer to a struct of type linkNode_t*/
int something = strlen(currentpath->value);/****ERROR*****/

编译器给了我不完整的类型错误。我是否正确声明了结构?

最佳答案

Struct 必须在 header 中声明,然后再进行 typedef。您可以将两者结合起来:

typedef struct linkNode {
    struct linkNode *next;
    char *value;
} linkNode_t;

关于c - 在 C 中取消引用指向不完整类型错误的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14556062/

相关文章:

c - 制作不同字符出现次数的直方图

c - 指针和字符串的关系

c - C 中的嵌套结构说 "warning: comparison between pointer and integer"

c++ - 如何在多个函数的结构体中全局存储数据

c# - 为什么不能在 C# 7.2 的结构中同时使用只读缓冲区和固定大小缓冲区

c - read() 系统调用页面错误不依赖于文件大小

c - 与 fgets 和 fprintf 兼容的文件锁定

无法编译代码。一直说括号上有错误

c++ - 如何将 JsonObject 转换为 JSON 字符串?

在 C 的 typedef 结构中调用函数