如何摆脱不兼容的指针类型警告/错误的初始化?

时间:2011-09-18 04:24:50

标签: c pointers

我正在尝试用C编写链接列表程序,但是我继续从不兼容的指针类型警告/错误中获取初始化。我怎么摆脱这个?你能解释一下是什么问题吗?以下是我的程序的简化版本:

typedef struct node
{
int contents;
struct Node *nextNode;
} Node;

int main(void)
{
//.......Other code here......
  Node *rootNode = (Node *) malloc(sizeof(Node));
  rootNode->nextNode = NULL;
//.......Other code here......
  addNode(rootNode);
}      

addNode(Node *currentNode)
{
//.....Other code here....
  Node *nextNode = (currentNode->nextNode);   //Error on this line
// ....Other code here...
}

由于

1 个答案:

答案 0 :(得分:5)

我认为您希望struct node *struct Node *而不是struct node

typedef struct node
{
    int contents;
    struct node *nextNode; /* here */
} Node;

并且不要从malloc转换返回值,不需要它。