重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你的程序有几个问题:
目前创新互联已为上千的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、凉城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1、main函数里会内存泄露。head经malloc后,没有free(head),就head=NULL
2、create传入的是指针,应该把create改为create(List **head), 那个函携核坦数体里面的head,此head非彼head,他只是一辩桐个副本
List * creat( List **head ){
List *q;
int data;
for( int i = 1; i =3; i++ ){
printf( "氏隐please enter data\n" );
scanf( "%d", data );
q = ( List * ) malloc ( sizeof ( List ) );
q - data = data;
q - next = *head;
*head = q;
}
return( *head );
}
1、struct Student*Create():定义函数Create,函数返回早则哗值为指向结构体Student类型的指针。
2、定义结构体:struct Student{……};定义指向结构体的指针:struct Student *p;定义返回值为指向结构体指针的函数:struct Student *Create(){……}
3、malloc函数返回值盯首为void *,pEnd和pEnw的类型为 struct Strudent *,类型不一致,需要对赋值运算符右边的陆行表达式值进行强制类型转换。强制类型转换的方法是(类型名),所以是(struct Student *)。
链表分类型有:单链表、双链表、单向环形链表、双向环形链表。
单链表:只有一个头节点为入口,并且每一个节点只有一个单向地址老亩知指向下一个节点,简单的说在后一个节点无法返回上一个节点。
双链表:有头节点和尾节点作为入口,每一个节点有两个侍消地址,一个指向前一个节点,一个指向后一个节点。解决了单链表无法返回前一个节点的问题。
单向环形链表:这是一个特殊的单链表,这个链表是把它的最后一个节点地址指向首节点的入口处。如果它要查找前一个节点的时候需要,转回首节点然后才能到达前一个节点。
双向环形链表:顾名思义,构成环耐族形结构的双向链表。
从CreatePoly的定义来看含知,没什么明显的问题啊。
按照
以下例子方樱老伍式调用,应该没问题吧
struct poly *A,*B;
int An,Bn;
scanf("%d%d",An,Bn);
A=CreatePoly(An);
B=CreatePoly(Bn);最好是具体代码贴出来,否则脊或没法判断。