结构体是什么、声明和定义

结构体是什么、声明和定义

1.结构体类型的概念

结构体是C语言中的一种自己定义构造的类型,它由若干个结构体“成员”组成。其中的每个成员可以是基本数据类型,可以是其他的构造类型。

(引出文章-结构体成员可以包含本结构体自身吗-即结构体可以自引用吗?)

2. 结构体的声明与定义

2.1 结构体声明(结构布局)

声明结构体使用关键字struct
声明的一般形式如下:

struct 结构体名
{
   成员列表;
};

这样“struct+结构体名” 就构成了一个新的类型名。

2.2 结构体变量声明(创建)

声明一个结构体表示的是创建一个新的类型名,用这个类型名再定义一个变量才是创建了一个数据对象,具有内存空间。

定义的一般形式如下:

struct  结构体名  结构体变量名列表;
2.3

结构体有两层含义:

一层是结构布局(结构体声明),即描述了结构由哪些数据组成。
一层是创建结构体变量(结构体变量定义)。

结构布局告诉编译器如何表示数据,但是它只是一种数据类型,没有对象,不会让编译器为数据分配空间。
创建结构体变量才会让编译器为该变量分配存储空间。

举例:
-结构布局

struct book
{
	char title[50];
	char author[50];
	float price;
	int page;
};

-创建结构体变量

struct book Shot;

struct book 的作用相当于 一般声明中的int或float

3. 定义结构体变量的几种方式

3.1 先声明结构体类型,再定义结构体变量

一般形式如下:

struct 结构体名
{
	成员列表;
};
结构体类型名 变量名列表;

举例:

struct book
{
	char title[50];
	char author[50];
	float price;
	int page;
};

struct book Shot, Hero;
3.2 在声明结构体类型时,同时定义结构体变量。

一般形式如下:

struct 结构体名
{
	成员列表;
}变量名列表;

举例:

struct book
{
	char title[50];
	char author[50];
	float price;
	int page;
} Shot, Hero;
3.3 直接定义结构体变量,省略结构体名

直接定义结构体变量,省略结构体名,这种只能是一次性的声明。
如果想要多次使用结构体类型,就要使用带结构体名(结构标记或结构标签)的形式或者使用typedef方式。

struct 
{
	成员列表;
}变量名列表;

举例:

struct 
{
	char title[50];
	char author[50];
	float price;
	int page;
} Shot, Hero;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiawucha159

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值