liststructs.h:
struct _data_object {
int temp;
int interval_length;
};
typedef struct _data_object temp_data_object;
struct _list_node {
data_object *temp_data;
struct _list_node *prev;
struct _list_node *next;
};
typedef struct _list_node list_node;
struct _list {
int time;
list_node *head;
list_node *tail;
};
typedef struct _list list;
list.h:
list_node *alloc_node(int temp, int interval_length);
list_node *alloc_dummy_node(void);
list *alloc_temp_list(void);
void delete_first(list *list);
void insert_node(list *list, list_node *new_node);
void insert(list *list, int temperature, int interval);
我然後叫calculations.c
和main.c
另一個文件使用,但後來我在calculations.h
聲明extern list *xs;
(它在calculations.c
定義),報告說: Error[Pe020]: identifier "list" is undefined
鏈表,結構包容問題
我已經包括liststructs.h
和list.h
以calculations.c
和main.c
的順序並且想要在calculations
和main
中使用xs
。
另外: 什麼是好?要在同一個頭文件中聲明結構體和列表操作或將它們分開?
你包括''calculations.h'您liststructs.h'正在使用的標識符'list'過嗎? – AusCBloke 2011-12-21 10:30:46