|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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函数开始解释 小弟不胜感激 |
|