结构体嵌套、结构体数组、结构体指针

本文介绍了C语言中结构体的三种常见用法:结构体嵌套,结构体数组以及结构体指针。在结构体嵌套中,通过实例展示了如何初始化并访问嵌套结构体的成员。对于结构体数组,文章提供了定义和初始化的方法,并指出可以通过循环遍历打印所有元素。最后,讲解了结构体指针的概念,包括如何获取结构体变量的地址,以及两种访问结构体成员的方式:解引用操作符(*)和成员选择运算符(->)。
摘要由CSDN通过智能技术生成

结构体嵌套:

将一个已经声明的结构体在另一个结构体内作为成员变量进行定义,并在外层结构体初始化的同时最自己进行行初始化,使用花括号包裹自身成员变量。

打印时注意为:结构体名称.结构体成员结构体.结构体成员结构体的成员

#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 = {
	 "《C语言》",
	 "abc",
	 99.9,
	{2020,02,29},
	"出版社"
};

int main(void)
{
	printf("书名:%s\n", book.title);
	printf("作者:%s\n", book.author);
	printf("售价:%f\n", book.price);
	//注意这里的输出方式:三个数据%d%d%d中间的-也会打印,每个数据寻找到最底层,book.date.year
	printf("出版日期:%d-%d-%d\n", book.date.year, book.date.month, book.date.day);
	printf("出版社:%s\n", book.publisher);
	return 0;
}

结构体数组:

同定义结构体的形式

仅仅把定义时的数组名换为数组名&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>