首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C中的文件有关问题

2012-02-07 
C中的文件问题以下为关于文件操作的部分代码,有几个打???(共5处)的我不明白如何理解,请高手指点啊!!!!type

C中的文件问题
以下为关于文件操作的部分代码,有几个打???(共5处)的我不明白如何理解,请高手指点啊!!!!
typedef struct node
{
struct student data; /*数据域*/
struct node *next; /*指针域*/
}Node,*Link; //???????????????????????????此处Node Link如何理解???????????????????????????????????
void main()
{

  Link l; //??????????????????????????????此外l是什么??????????????????????????
  FILE *fp; /*文件指针*/
  int select; /*保存选择结果变量*/
  char ch; /*保存(y,Y,n,N)*/
  int count=0; /*保存文件中的记录条数(或结点个数)*/
  Node *p,*r; //???????????????????????????????此处变量如何理解??????????????????????????????????


  l=(Node*)malloc(sizeof(Node));
  if(!l)
  {
  printf("\n allocate memory failure "); /*如没有申请到,打印提示信息*/
  return ; /*返回主界面*/
  }
  l->next=NULL;
  r=l;
  fp=fopen("C:\\student","ab+"); /*以追加方式打开一个二进制文件,可读可写,若此文件不存在,会创建此文件*/
  if(fp==NULL)
  {
  printf("\n=====>can not open file!\n");
  exit(0);
  }

while(!feof(fp))
{
  p=(Node*)malloc(sizeof(Node));
  if(!p)
  {
  printf(" memory malloc failure!\n"); /*没有申请成功*/
  exit(0); /*退出*/
  }

  if(fread(p,sizeof(Node),1,fp)==1) /*一次从文件中读取一条学生成绩记录*/
  {
  p->next=NULL;
  r->next=p;
  r=p; //此处是r指向p结点吗?我不明白???????????????????????????????????????
  count++;
  }
}

fclose(fp); /*关闭文件*/
printf("\n=====>open file sucess,the total records number is : %d.\n",count);
menu();
while(1)
{
  system("cls");
  menu();
  p=r; //怎么又赋回去了呢????????????????????????????????????
  printf("\n Please Enter your choice(0~9):");  
  scanf("%d",&select);

  if(select==0)
  {
  if(saveflag==1) /*若对链表的数据有修改且未进行存盘操作,则此标志为1*/
  { getchar();
  printf("\n=====>Whether save the modified record to file?(y/n):");
  scanf("%c",&ch);
  if(ch=='y'||ch=='Y')
  Save(l);
  }
  printf("=====>thank you for useness!");
  getchar();
  break;
  }

[解决办法]

C/C++ code
typedef struct node { struct student data;  /*数据域*/ struct node *next;    /*指针域*/ }Node,*Link;   //???????????????????????????此处Node Link如何理解??????????????????????????????????? ---------Link 就是 Node* 

热点排行