我正在尝试用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...
}
由于
答案 0 :(得分:5)
我认为您希望struct node *
中struct Node *
而不是struct node
:
typedef struct node
{
int contents;
struct node *nextNode; /* here */
} Node;
并且不要从malloc
转换返回值,不需要它。