【跟着小甲鱼学C语言】P42 结构体

本文详细介绍了C语言中的结构体,包括定义、初始化、访问、嵌套、数组及结构体指针的使用。此外,还探讨了结构体与函数的交互,包括通过结构体参数传递和返回值。最后,提到了一篇关于结构体打包技艺的文章。

结构体

1.结构体的定义

定义一个书籍结构体,它包括书籍的名称、作者,价格、上市时间、出版社:

#include<stdio.h>

struct Book
{
	char title[120];
	char author[40];
	float price;
	unsigned int date;
	char publisher[40];
};

int main(void)
{
	return 0;
}

这里把结构体写在main函数外面,所以整个文件都可以使用,其实也可以写在main函数里面。注意这里只是定义了结构体的结构,而并没有定义结构体变量,这有点类似于面向对象编程里的类,没有实例化。要定义结构体变量,要用下面的办法;

int main(void)
{
	struct Book book;
	return 0;
}

或者也可以在声明结构体时直接定义结构体变量,甚至还可以直接在这里初始化:

struct Book
{
	char title[120];
	char author[40];
	float price;
	unsigned int date;
	char publisher[40];
} book = {“带你学C带你飞”, .price = 48.8};

2.结构体的初始化

可以用.操作符来定义结构体的时候一些成员的初始值:

struct Book book = {.price = 48.8,.author = "小甲鱼"};

这种初始化与顺序无关,只有成员的名字是对的就行。另外也可以使用顺序来初始化,并且不用初始化所有的元素,但位置一定要对应上,这就和数组是一样的了。甚至其实两种定义方式都可以混用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值