我想让一个链接列表在多个 .c 文件中全局可用。
我已经阅读了如何做到这一点,但我无法确定是什么导致了我的问题。
我在 LinkedList.h 中用 extern 声明变量:
extern LinkedList* canQueue;
然后在 main.c 中,我通过将变量发送到 LinkedList.c 中的函数来初始化变量,如下所示:
LinkedList *canQueue=createList();
这是 LinkedList.c 中的创建函数:
LinkedList* createList() /*creates empty linked list*/
{
LinkedList* myList;
myList = malloc(sizeof(LinkedList));
myList->head = NULL;
return myList;
}
然后我想在另一个文件 cpu.c 中使用 canQueue。我已经在 cpu.c 中包含了 LinkedList.h,所以在这一点上,据我所知,Linked List 应该在此处可用。但是当我尝试访问它时,我得到一个错误:
undefined reference to 'canQueue'
我是否错过了什么或做错了什么?