关于结构体的问题的问题

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 //定义链表的结点
 struct LinkNode{
    void* date;
    struct LinkNode *next;
};
//定义一个结构体为整个链表,在这个结构体中把头结点定义出来
struct Linklist{
    //定义头结点
    struct LinkNode pHeader;
    pHeader.date = NULL;
};
 int main() {

    return 0;
}


运行结果及报错内容

显示pHeader未被定义,但是我把定义它的结构体是写在它前面的,不知道为什么会有这个错误

结构体里不支持初始化赋值,修改如下,供参考:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct LinkNode{  //定义链表的结点
    void* date;
    struct LinkNode *next;
};
//定义一个结构体为整个链表,在这个结构体中把头结点定义出来
struct Linklist{

    struct LinkNode pHeader;//定义头结点
    //pHeader.date = NULL;
};
int main() {
    struct Linklist L;
    L.pHeader.date = NULL;

    return 0;
}

12行把struct去掉试试

mark