本章节比较简单不做过多说明,直接上案例,如有疑问,欢迎留言。
结构体作为函数参数
#include <stdio.h>
#include <string.h>
struct Books
{
char name[50];
char author[50];
int book_id;
};
// 函数声明
void printBook(struct Books *book);
// 结构体指针变量 必须得到结构体变量的地址(分配地址)同类型
int main()
{
struct Books Book1; // 声明 Book1,类型为 Books
struct Books Book2; // 声明 Book2,类型为 Books
// Book1 详述
strcpy_s(Book1.name, 50, "C Programming");
strcpy_s(Book1.author, 50, "Vico");
Book1.book_id = 1006;
// Book2 详述
strcpy_s(Book2.title,50, "C++ Programming");
strcpy_s(Book2.author,50, "Sail");
Book2.book_id = 1007;
// 通过传 Book1 的地址来输出 Book1 信息
printBook(&Book1);
printf("\n");
// 通过传 Book2 的地址来输出 Book2 信息
printBook(&Book2);
return 0;
}
void printBook(struct Books *book)
{
printf("Book title : %s\n" , book->name);
printf("Book author : %s\n" , book->author);
printf("Book book_id : %d\n" , book->book_id);
}
结果如下;