Joe*_*aci 1 c struct pointers dereference
我知道至少有10个问题已经存在,但它们都指向了我没有做的事情.
在头文件中我有......
typedef struct Node {
struct Node *next;
struct pgmap page;
} Node;
typedef struct linkedlist {
struct Node *head_ptr;
struct Node *tail_ptr;
} LList;
Run Code Online (Sandbox Code Playgroud)
在我的c文件中我有
struct LList mainList;
int main()
{
struct LList *root;
root = &mainList;
root->head_ptr = NULL;
root->tail_ptr = NULL;
...
}
Run Code Online (Sandbox Code Playgroud)
在root->行上,我得到解除引用ptr ...错误.已经在这里的所有线程都指出了人们不小心创建匿名结构的问题,例如
typedef struct{
int a;
}; monkey
Run Code Online (Sandbox Code Playgroud)
代替
typedef struct monkey{
int a;
}; monkey
Run Code Online (Sandbox Code Playgroud)
那我错过了什么?
jwo*_*der 10
没有称为" struct LList
"的类型.代码" typedef struct linkedlist { ... } LList;
"创建两个类型名称:一个是struct linkedlist
,另一个是LList
(没有" struct
").因此,您需要将" struct LList
" 更改为" LList
."