C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:
struct tag {
member-list
member-list
member-list
...
} variable-list ;
代码如下:
#include <stdio.h>
#include <string.h>
struct Books{
char title[50];
char author[50];
char subject[100];
int book_id;
};
//声明函数
void printfBook1(struct Books book);
void printfBook2(struct Books *book);
void main(){
// 声明book1 为Books 类型
struct Books book1;
// 声明book2 为Books 类型
struct Books book2;
//设置值
strcpy(book1.title,"C Programming");
strcpy(book1.author,"Nuha Ali");
strcpy(book1.subject,"C Programming Tutorial");
book1.book_id=123456;
strcpy(book2.title,"Telecom Billing");
strcpy(book2.author,"Zara Ali");
strcpy(book2.subject,"Telecom Billing Tutorial");
book2.book_id=654321;
//输出
printfBook1(book1);
// 通过传 book2 的地址来输出 Book2 信息
printfBook2(&book2);
}
//输出函数
void printfBook1(struct Books book){
printf("book.title:%s\n",book.title);
printf("book.author:%s\n",book.author);
printf("book.subject:%s\n",book.subject);
printf("book.book_id:%d\n",book.book_id);
}
// 指针作为结构体参数
void printfBook2(struct Books *book){
printf("book.title:%s\n",book->title);
printf("book.author:%s\n",book->author);
printf("book.subject:%s\n",book->subject);
printf("book.book_id:%d\n",book->book_id);
}