我在解析參數到函數list_append()時遇到問題。混淆我的主要問題是指針結構裏面的結構裏面的指針...試圖將結構指針作爲節點發送到函數
該函數是否要求數據類型爲「LIST」,並向它傳遞一個指針?
當我嘗試編譯此我得到以下錯誤:
請解釋一下像我5.
錯誤
In file included from main.c:3:0:
list.h:9:7: note: expected 'LIST' but argument is of type 'struct post *'
void list_append (LIST l, int item);
^
list.h
void list_append (LIST l, int item);
的main.c
#include <stdio.h>
#include "list.h"
int main() {
static struct post {
char* str;
struct post* next;
int item;
} head = { 0, NULL };
struct post *p = &head;
struct post post;
list_append(p, post.item);
}
list.c
void list_append(struct node* n, int item)
{
/* Create new node */
struct node* new_node = (struct node*) malloc (sizeof (struct node));
new_node->item = item;
/* Find last link */
while (n->next) {
n = n->next;
}
/* Joint the new node */
new_node->next = NULL;
n->next = new_node;
}
是的...不,我沒有在任何地方定義'LIST',只在頭文件中。 – user3241763
沿着「typedef xxxx LIST;」尋找一些東西或者可能是#define LIST xxxx併發布它,以便我們可以看到該類型已被定義爲。 – Jmc
另外我沒有看到任何定義的結構節點。標題中的LIST是什麼意思? – pvkc