结构体类型的概念及定义

1. 基本概述

构造类型:
不是基本类型的数据结构也不是指针,它是若干个相同或不同类型的数据构成的集合。常用的构造类型有数组、结构体、共用体。
数组用于保存多个相同类型的数据。
结构体用于保存多个不同类型的数据。

2. 结构体的概念

结构体是一种构造类型的数据结构,是一种或多种基本类型或构造类型的数据的集合。

3. 结构体类型的定义

先定义结构体类型,再去定义结构体变量

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

e.g.

struct stu{
int num;
char name[20];
char sex;
};

有了结构体类型后,就可以用类型定义变量了。

在定义结构体类型的时候顺便定义结构体变量,以后还可以定义结构体变量

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

e.g.

struct stu{
int num;
char name[20];
char sex;
}lucy,bob,alice;
struct stu stefen, lina;

注意: 一般结构体类型都会定义在全局,也就是main函数的外面
所以在定义结构体类型的同时定义变量,这些变量一般都是全局变量
定义完类型之后定义的结构体变量内存分配要看定义的位置。

无名结构体的定义

在定义结构体类型的时候,没有结构体类型名,顺便定义结构体变量,
因为没有类型名,所以以后不能再定义相关类型的数据了。

struct {
成员列表;
}变量1,变量2

注意: 无名结构体由于没有结构体名,所以定义完之后是无法在定义结构体变量的,只能在定义类型的同时定义结构体变量。
e.g.

struct {
int num;
char name[20];
char sex;
}lucy,bob;

给结构体类型取别名

通常咱们将一个结构体类型重新起个类型名,用新的类型名替代原先的类型。

typedef struct 结构体名 {
成员列表;
}重新定义的结构体类型名A

注意:typedef主要用于给一个类型取别名,此时相当于给当前结构体重新起了一个类型名为A,相当于 struct 结构体名,所以如果结构体要取别名,一般不需要先给结构体定义名字,定义结构体变量时,直接使用A即可,不用加struct。
e.g.

typedef struct stu{
	int num;
	char name[20];
	char sex;
}STU;

以后STU 就相当于 struct stu。STU lucy;和struct stu lucy;是等价的,所以可以不指定stu这个名字。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

六月悉茗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值