#include <stdio.h> #include <stdlib.h> struct student { long num; struct student *next; }; struct student *createlink(int); struct student *createnode(); void del(struct student *,struct student *); void output(struct student *); main() { int an=5,bn=3; struct student *ahead,*bhead; ahead=(struct student *)malloc (sizeof(struct student)); bhead=(struct student *)malloc (sizeof(struct student)); ahead->next=createlink(an); bhead->next=createlink(bn); del(ahead,bhead); output(ahead); } void del(struct student *ahead,struct student *bhead) { } void output(struct student *head) { struct student *p=head->next; while(p!=NULL) { printf("%ld\n",p->num); p=p->next; } } struct student *createlink(int n) { int i; struct student *head,*p1,*p2; for(i=0;i<n;i++) { if(i==0) head=p1=createnode(); else { p2=createnode(); p1->next=p2; p1=p2; } } return(head); } struct student *createnode() { struct student *p; p=(struct student *)malloc (sizeof(struct student)); printf("Please:"); scanf("%ld",&p->num); p->next=NULL; return(p); }
时间: 2024-03-18 11:43:42 浏览: 61
这段代码定义了一个`student`结构体,包含学号和指向下一个结构体的指针。然后通过`createlink`函数创建链表,该函数返回一个指向头结点的指针。`createlink`函数接受一个参数n,表示创建链表的长度。内部使用`createnode`函数创建每个结点,并将它们连接起来。`createnode`函数接受用户输入的学号并返回一个指向新结点的指针。
主函数中创建了两个链表,分别表示A和B两个集合。然后调用`del`函数删除A和B中重复的元素。最后调用`output`函数输出结果。
需要注意的是,`del`函数的内容被省略了,因此这段代码并不能正常运行。
相关问题
# include < stdio. h> # include < stdlib. h> typedef int ElemType; typedef struct LNode { ElemType
这是一个C语言程序中的部分代码,涉及到头文件的包含和数据结构的声明。`#include <stdio.h>` 和 `#include <stdlib.h>` 是用来引入标准输入输出库以及标准库函数,如内存管理和I/O操作。
`typedef int ElemType;` 定义了一个新的类型别名 `ElemType`,通常在数据结构中用于元素类型,例如链表中的节点元素。
接着,`typedef struct LNode` 开始定义一个名为 `LNode` 的结构体,这通常是用来表示链表的节点。在链表中,每个节点一般包含两个部分:一个是存储数据的域(`ElemType data;`,这个部分会被 `ElemType` 替换),另一个可能是指向下一个节点的指针(`struct LNode* next;`)。完整的结构体可能会像这样:
```c
typedef int ElemType;
typedef struct LNode {
ElemType data; // 节点的数据域
struct LNode* next; // 指向下一个节点的指针
} LNode;
```
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 typedef int ElemType; typedef struct
这段代码是C语言中的头文件引用和一些定义的示例。其中,`#include <stdio.h>`和`#include <stdlib.h>`是用来引入标准库函数的头文件。`stdio.h`包含了输入输出相关的函数,如`printf`和`scanf`;`stdlib.h`包含了一些常用的函数,如内存分配函数`malloc`和随机数生成函数`rand`。
`#define MAXSIZE 100`是一个宏定义,用来定义一个常量`MAXSIZE`,它的值为100。
`typedef int ElemType;`是用来给`int`类型起一个别名`ElemType`,方便在代码中使用。
至于代码中的结构体部分,由于你没有提供完整的代码,所以无法给出具体的解释。但一般来说,结构体用于定义一种自定义的数据类型,可以包含多个不同类型的成员变量。
阅读全文