结构体定义的三种方法总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

结构体常用的定义总结。防止忘记


一、临时的结构体定义

是说此类型的结构体只需在本文件或者本函数中使用。定义新的变量时需要重新抄写所有成员再定义。
例如:
struct
{
char name[20]; //定义一个学生的名字字符数组
uint age; //定义一个学生的年龄
float score; //定义一个学生的分数
}student;
此时定义的“student”可认为是临时的结构体~~变量~~ !!,其他地方使用时需要使用修辞符 extern 进行声明,用于说明“此变量/函数是在别处定义的,要在此处引用”。需要将整个结构体的成员都抄写一遍,不方便。

二、结构体类型

是说这种类型的结构体可以用于定义新的变量,不需要抄写所有成员。
例如:
struct stu //表示一个结构体的类型,而不是变量
{
char name[20]; //定义一个学生的名字字符数组
uint age; //定义一个学生的年龄
float score; //定义一个学生的分数
};

可以使用此结构体类型定义无数个“变量”
struct stu stud1;
struct stu stud2;

stud1 和 stud2就是两个变量,包含有真实的、具体的成员项。
(struct stu 是一个甜饼器,可以用于制作类似于甜饼器的真实甜饼,甜饼可以食用,但是甜饼器不可食用。土话就是:struct stu只是一个模具)

三、重定义结构体类型

是说这种类型的结构体可以用于定义新的变量,不需要抄写关键字“struct”。
例如:
typedef struct //表示一个结构体的新名字,而不是变量
{
char name[20]; //定义一个学生的名字字符数组
uint age; //定义一个学生的年龄
float score; //定义一个学生的分数
}Student;

将结构体换了一个新名字“Student”,新名字就类似于一个甜饼器/模具了。可以定义新的变量。
好处:这种结构体可以定义较多的结构体变量。
typedef 原名字 新名字

四、结构体的成员访问

如果结构体为一个变量时,访问使用“.”点的操作符进行。访问过程为一级一级成员进行访问。

如果是结构体类型的指针(一般占4个字节,结构体的首地址)时,只能使用“->”箭头操作符运行。访问的过程中务必清晰知道访问的这一级成员是指针还是变量。才可以将操作符区分清楚。

总结

提示:这里对文章进行总结:
三种定义方式记录一下。

  • 11
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值