"main.c">
#include "header.h"
int main()
{
int ch;
start = NULL;
printf("Enter your choice:n");
printf("1 --> To create listn");
switch (ch)
{
case 1:
start = create(start);
break;
}
}
"标题.h">
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node NODE;
struct node
{
int info;
NODE* link;
};
extern NODE *start;
NODE* create(NODE*);
- 该错误是对main中"start"的未定义引用,但是我已经将其声明为头文件,我什至在"main.c"文件中包含了"header.h"文件。
在你声明header.h
extern NODE *start
但没有给出start
的定义。
您需要定义start
.通常在某个.c
文件中。 可能在main.c
.
NODE *start; //in Global space, above main() function.
另请参阅此答案以获取更多信息。