我在名爲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的引用嗎?