本章节比较简单不做过多说明,直接上案例,如有疑问,欢迎留言。
结构体作为函数参数
#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); }
结果如下