当我尝试访问我定义的结构中的字段时遇到了这个错误:
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/