学习笔记
**************/*/因为小甲鱼失联,只好自己写了
1. 结构体的嵌套
#include <stdio.h>
struct Date
{
int year;
int month;
int day;
};
struct Book
{
char title[128];
char author[40];
float price;
struct Date date;
char publisher[40];
} book = {
"《带你写字》",
"xiaomi",
48.8,
{2017, 11, 11},
"清华大学出版社"
};
int main(void)
{
printf("书名:%s\n", book.title);
printf("作者:%s\n", book.author);
printf("售价: %.2f\n", book.price);
printf("出版日期:%d-%d-%d\n", book.date.year, book.date.month, book.date.day);
printf("出版社:%s\n", book.publisher);
return 0;
}
将Date嵌套进Book中。访问嵌套结构体必须写到最底层才能访问到最底层的数。
结构体指针
两种形式
- (*结构体指针).成员名
- 结构体指针->成员名
#include <stdio.h>
struct Date
{
int year;
int month;
int day;
};
struct Book
{
char title[128];
char author[40];
float price;
struct Date date;
char publisher[40];
} book = {
"《带你写字》",
"xiaomi",
48.8,
{2017, 11, 11},
"清华大学出版社"
};
int main(void)
{
struct Book *pt; //结构体指针的定义
pt = &book;
printf("书名:%s\n", pt->title); //或者写成(*pt).title
printf("作者:%s\n", pt->author);
printf("售价: %.2f\n", pt->price);
printf("出版日期:%d-%d-%d\n", pt->date.year, pt->date.month, pt->date.day);
printf("出版社:%s\n", pt->publisher);
return 0;
}