标题:链表看不懂啊
只看楼主
上下左右中
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2013-1-23
结帖率:50%
已结贴  问题点数:20 回复次数:2 
链表看不懂啊
#include <stdio.h>
#include <stdlib.h>
#define   N   8
struct  slist                                 
{  double   s;
   struct slist  *next;
};
typedef  struct slist  STREC;
double  fun( STREC *h  )
{
  int i;
                                             

}

STREC * creat( double *s)
{ STREC  *h,*p,*q;   int  i=0;
  h=p=(STREC*)malloc(sizeof(STREC));p->s=0;
  while(i<N)
  { q=(STREC*)malloc(sizeof(STREC));
    q->s=s[i]; i++;  p->next=q; p=q;     就这句,书上的解释很抽象,看不懂
  }
  p->next=0;     这句也不怎么明白
  return  h;
}
outlist( STREC *h)
{ STREC  *p;
  p=h->next; printf("head");
  do
  { printf("->%4.1f",p->s);p=p->next;}
  while(p!=0);
  printf("\n\n");
}
main()
{  double  s[N]={85,76,69,85,91,72,64,87},ave;
   void NONO (  );
   STREC  *h;
   h=creat( s );   outlist(h);
   ave=fun( h );
   printf("ave= %6.3f\n",ave);
   NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *in, *out ;
  int i,j ; double  s[N],ave;
  STREC *h ;
  in = fopen("in.dat","r") ;
  out = fopen("out.dat","w") ;
  for(i = 0 ; i < 10 ; i++) {
    for(j=0 ; j < N; j++) fscanf(in, "%lf,", &s[j]) ;
    h=creat( s );
    ave=fun( h );
    fprintf(out, "%6.3lf\n", ave) ;   
  }
  fclose(in) ;
  fclose(out) ;
}
搜索更多相关主题的帖子: next include double 
2013-03-28 22:58
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:10 
while(i<N)
   { q=(STREC*)malloc(sizeof(STREC));
     q->s=s[i]; i++;  p->next=q; p=q;     就这句,书上的解释很抽象,看不懂
   }
   p->next=0;     这句也不怎么明白

while i < N 也就是所变量数据s 的每个元素
1 申请一个内存,p指向刚刚那块内存
2 给p的data(s)赋值,为s[i]
3 p->next=q 也就是吧刚刚申请的那么内存放到链表的最末端
4 p=q ,也就是说最末端调整为 q(刚刚的那块内存)

p->next=0;  最后一个节点的next 要置为空的,不如 这个是个野指针



我行我乐
我的博客:
http://blog.yuccn. net
2013-03-28 23:08
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:10 
蹭分
2013-03-28 23:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-402233-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.081994 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved