| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
- #include <stdio.h>
 
 - #include <stdlib.n>
 
 - struct Book
 
 - { 
 
 -     char title[128];
 
 -     char author[40];
 
 -     struct Book *nest;                       //这里是定义一个指向book结构体的指针?所以&nest就是book结构体的地址?
 
 - }
 
 - void getInput(struct Book *book)
 
 - {        printf("请输入书名:");
 
 -          scanf("%s", book->title);
 
 -          printf("请输入作者:");
 
 -          scanf("%s", book->author)
 
 - }
 
 - void addBook(struct Book **library)           //main函数中把library的地址传过来,但这里函数的参数定义是指针,两者类型不一样?为什么能够执行呢(我这里完全乱套了 求大神解释)
 
 - {        struct Book *book, *temp;              //这里创造两个指向结构体book的指针
 
 -          book = (struct Book *)malloc(sizeof(struct Book));                上一行已经定义了book的指针类型,这里又定义一遍用意何在呢?
 
 -          getInput(book);
 
 -          if(*library !=NULL)
 
 -          {    temp=*library;
 
 -               *library=book;
 
 -               book->next=temp;}                  }
 
 -           else
 
 -           { *library =book;
 
 -             book->next =NULL;
 
 -            }
 
 - }
 
  
- void printLibrary(struct Book*library)
 
 - {         struct Book *book;
 
 -           int count=1;
 
 -           book=library;
 
 - while (book!=NULL)
 
 - {         
 
 -           printf("Book%d:", count);
 
 -           printf("书名:%s", book->title);
 
 -           printf("作者:%s", book->author);
 
 -           book=book->next; count++;
 
 - }
 
 - void releaseLibrary(struct Book *library)
 
 - { 
 
 -           while(library !=NULL)
 
 -          { library =library->next;free(library);}
 
 - }
 
 - int main()
 
 - {         struct Book *library =NULL;              这里是定义一个指向book结构体的指针?所以&library就是book结构体的地址?
 
 -           addBook(&library); 
 
 -           printLibrary(library);
 
 - }
 
  复制代码 
 
问题比较多 建议大神们从main函数开始解释 小弟不胜感激 |   
 
 
 
 |