首页 > 代码库 > 结构体专题
结构体专题
===定义结构体的两种方法:=========================================
第一种:
struct 结构体名{
成员列表
}变量名列表;
第二种://省略了结构体名,直接定义结构体变量
struct{
成员列表
}变量名列表;
===举例:===========================================
第一种定义方法
(1)声明结构体类型
struct 高三班级 {
语文课代表
数学课代表
……
历史课代表
}
(2)定义结构体变量
struct 高三班级 高三1班 ,高三2班;
或者直接写成
struct 高三班级 {
语文课代表
数学课代表
……
历史课代表
}高三1班 ,高三2班;
(3)使用
高三1班.语文课代表=XXX;
高三1班.数学课代表=XXX;
......
--------------------------
第二种定义方法
(1)声明结构体类型
struct {
语文课代表
数学课代表
……
历史课代表
}高三1班 ,高三2班;
(2)使用
高三1班.语文课代表=XXX;
高三1班.数学课代表=XXX;
===typedef用法============================================================
定义:申明新的内型名代替已有的内型名
也就是typedef ABCD XYZ,这样XYZ就完全替代了ABCD了
------------------
typedef struct { //注意此处不再有 高三班级(我也不知道为什么省略,采用了方式二定义?还是为了C语言的简洁?)
语文课代表
数学课代表
……
历史课代表
} SBATNND
此时SBATNND就完全代替了整个结构体,直接定义变量
SBATNND 高三1班 ,高三2班;
就可以了,等价于
struct {
文课代表
数学课代表
……
历史课代表} 高三1班 ,高三2班;
---------------------------------为什么就不能带结构体名字(高三班级)----------------------慢慢找原因
要不然也就等价于
struct 高三班级 高三1班 ,高三2班;
SBATNND 就等价于 struct 高三班级
结构体专题