我在名为list.c的C文件中有一个变量,我在main.c中用函数initList(void)初始化var。如何在main.c中获取变量?如何在另一个C文件中引用一个变量?
的main.c:
#include <stdlib.h>
#include "list.h"
int main() {
initList();
return 0;
}
list.c:
#include "list.h"
listItem *firstItem;
listItem *currentItem;
void initList(void) {
currentItem = calloc(1, sizeof(listItem));
currentItem->data = 0;
currentItem->lastItem = NULL;
currentItem->nextItem = NULL;
firstItem = currentItem;
}
void listInsert(int data) {
listItem *newItem = calloc(1, sizeof(listItem));
newItem->data = data;
newItem->lastItem = currentItem;
newItem->nextItem = NULL;
currentItem = newItem;
}
list.h:
#ifndef LINKEDLIST_H
#define LINKEDLIST_H
void initList(void);
void listInsert(int data);
typedef struct listItem {
void *lastItem;
void *nextItem;
int data;
} listItem;
#endif
正如你可以看到我初始化变量在我initList(无效)函数,我在main.c文件中调用。现在我想用我的变量做一些事情。例如,我想用我的函数listInsert(int data)插入一些不起作用的东西。
C不保留对我的变量firstItem,currentItem的引用吗?