链表可以做外部变量吗

如题所述

严格意义上说这个提法不对,链表是一种数据结构,或者说是一种存取数据的方法接口,它本身是一个抽象,并不是实际的变量。
定义一个链表变量,这个变量是可以作为外部变量的,因为链表本身就是一个结构体。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-30
struct student //学生结构体
{
int number;
char name[20];
int age;
};

struct Class
{
int classNum; //班号
char className[20]; //班名
struct student stud[50];//一个班最多只能有50个学生
struct Class *next;
}*Link; // 这里定义Link作为全局变量,即链头。,

如读取文件函数:
int read(struct Class *Link) /*如果我上面定义了Link作为全局变量,是不是在这里就不用设这个形参用来传链头了,--------------------------------在其他函数(如删除,添加学生)要操作链表时,也不需要设形参传递链头?*/
{
FILE *fp;
struct Class *p;
p=Link;
if((fp=fopen("studentss.txt","r"))==NULL)
{
printf("文件读取错误!\n");
return 0;
}
while(p!=NULL)
{
fread(p,sizeof(struct Class),1,fp);
P=p->next;
}
}
return 1;
}本回答被网友采纳
相似回答