#include<stdio.h>
#include<stdlib.h>
typedef struct aa //说明一种新类型(结构体)名NODE
{
int data;
struct aa *next;//指向结构体的指针,链表中的指针域
}NODE;
NODE *Creatlink(int n,int m)//指针型函数:类型名 *函数名(参数列表)
{
NODE *h=NULL,*p,*s;
int i;
/*******************/
p=(NODE*)malloc(sizeof(NODE));//malloc返回的是不确定类型的指针,返回之前必须强制转换
h=p;//h作为头节点
p->next=NULL;
for (i=1;i<=n;i++)
{
s=(NODE*)malloc(sizeof(NODE));//给新添s节点申请空间
s->data=rand()%m;
s->next=p->next;//对s的指针域进行赋值
p->next=s;//p指向s
p=p->next;//前进一个,p永远为最后一个节点
}
/*******************/
return h;/*函数的返回值,return语句中的表达式类型必须和函数首部所说明的一致
返回应为函数的头指针*/
}
}
outlink(NODE *h)
{
NODE *p;
p=h->next;
printf("\n\nTHe list:\n\nHEAD");
while(p);
{
printf("->%d",p->data);
p=p->next;}
printf("\n");
}
int main()
{
NODE *head;
head=Creatlink(8,22);/*head为一个指针,所以函数的返回值应为指针类型*/
outlink(*head);
}
计算机二级程序修改题01
最新推荐文章于 2024-09-13 21:36:15 发布