定义一个Book结构体,包含书名(char数组)、作者(char数组)和出版年份(int)。通过结构体指针来访问和修改这些成员的值。
时间: 2024-09-29 20:03:43 浏览: 40
在C语言中,你可以定义一个名为`Book`的结构体来存储书籍的信息,包括书名、作者和出版年份。下面是结构体的定义以及如何通过结构体指针来访问和修改其成员:
```c
// 定义Book结构体
typedef struct {
char title[100]; // 书名,假设最大长度不超过100字符
char author[50]; // 作者名字,假设最大长度不超过50字符
int year; // 出版年份
} Book;
// 创建Book类型的变量,并初始化
Book book = {"红楼梦", "曹雪芹", 1791};
// 使用结构体指针访问和修改成员
void manipulate(Book* ptr) {
// 访问成员
printf("书名: %s\n", ptr->title);
printf("作者: %s\n", ptr->author);
printf("出版年份: %d\n", ptr->year);
// 修改成员
ptr->title = "西游记"; // 修改书名
ptr->author = "吴承恩"; // 修改作者
ptr->year = 1592; // 修改年份
}
int main() {
Book* myBook = &book; // 获取book的地址并创建指向它的指针
// 调用函数,通过指针操作
manipulate(myBook);
return 0;
}
```
在这个例子中,`manipulate`函数接受一个`Book`类型的指针作为参数,可以直接通过指针来访问和改变`Book`结构体的属性。
阅读全文