2017-08-26 82 views
1

我收到一個錯誤,告訴我列表是一個未知類型的名稱,在請幫忙之前,我還沒有遇到過這個問題。在c中使用結構的未知類型名稱

#include<stdio.h> 


struct listnode { 
    int maxSizeOfList, indexOfLastItemOfList; 
    float *array; 
}; 


int createList(List *list, int size) { 
    list-> maxSizeOfList = size; //initialization phase 
    list->indexOfLastItemOfList = -1; 
    array = malloc(sizeof(float) * size); 
} 


float addItem(float item, List l) { 
    l.array[++l.indexOfLastItemOfList] = item; //addditem to the end of list 
} 

float getItem(int index, List l) { 
    return l.array[l.indexOfLastItemOfList]; //return the indexed item 
} 

int sizeOfList(List l) { 
    return l.indexOfLastItemOfList+1; //simple return statement 
} 

void deleteList(List *) { 
    free(l->arraay); //free up dyamic array memory 
    list-> maxSizeOfList = 0 ; //initialization phase 
    list->indexOfLastItemOfList = -1; 
    array = NULL; 
} 
+3

C中沒有'List'類型。你的代碼中是否有'typedef'? –

+0

[錯誤:嘗試創建鏈接列表時出現未知類型名稱列表](https://stackoverflow.com/questions/34504045/error-unknown-type-name-list-when-trying-to-create- a-linked-list) – Charles

+0

我需要在struct之前添加typedef嗎? – dylan

回答

-1

c中沒有列表數據類型。列表在java.l中作爲數據類型存在,如果要使用類似列表類型的性能,則需要創建此類用戶定義的數據類型。