簡體   English   中英

錯誤:嘗試創建鏈接列表時,未知類型名稱列表

[英]Error: unknown type name List when trying to create a Linked List

因此,我是C的新手,正在嘗試創建鏈接列表。 但是由於某種原因,我一直收到此error: unknown type name List 這是我到目前為止的內容:

struct Node{
    int data;
    struct Node *next;
};

struct List{
    struct Node *head;
};

void add(List *list, int value){
    if(list-> head == NULL){ 
        struct Node *newNode;
        newNode = malloc(sizeof(struct Node));
        newNode->data = value;
        list->head = newNode;
    }

    else{
        struct Node *tNode = list->head;
        while(tNode->next != NULL){
            tNode = tNode->next;
        }
        struct Node *newNode;
        newNode = malloc(sizeof(struct Node));
        newNode->data = value;

        tNode->next = newNode;
    }
}



void printNodes(struct List *list){
    struct Node *tNode = list->head;
    while(tNode != NULL){
        printf("Value of this node is:%d", tNode->data);
        tNode = tNode->next;
    }
}

 int main()
{
    struct List list = {0}; //Initialize to null
    add(&list, 200);
    add(&list, 349);
    add(&list, 256);
    add(&list, 989);
    printNodes(&list);
    return 0;
}

我來這里是為了尋求幫助,因為我不知道如何使用C進行調試,而來自Java來的人對指針,內存分配和其他東西也不了解,所以想知道我是否可能以某種方式搞砸了。 我也進一步警告此警告,也不知道這可能意味着什么。

警告:函數'add'的隱式聲明[-Wimplicit-function-declaration] |

幫助表示贊賞。

在使用任何結構類型的地方(假設您未使用typedef ),必須將struct關鍵字放在類型名稱之前。

所以這:

void add(List *list, int value){

應該:

void add(struct List *list, int value){

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM