解析与用法
- 基础篇
struct(结构体)属于数据类型的一种,跟int、char等数据类型不同的是struct内部保存的是多个变量
int a; //普通变量
char b;
struct i{
int a; //普通变量
char b;
}; //结构体
这里创建了一个结构体,数据类型名称为 i,它现在可以跟 int 数据类型一样创建变量,不同的是需要在前面加入struct表明它是结构体
struct i a; //创建结构体变量 a
struct i b; //创建结构体变量 b
然而这样创建是有点麻烦,那么typedef(声明类型)的作用就体现出来了
typedef struct{
int a; //普通变量 a
char b;
}i;
i a; //结构体变量 a
i b;
创建后就可以赋值了,需要注意的是结构体内部是不能赋值的,只能声明变量,不能定义变量,使用 . (点)访问内部成员
a.a = 1; //单个变量赋值
a.b = 'a';
a = {1, 'a'}; //多个变量赋值
b.a = 2;
b.b = 'b';
a.a = b.a; //结构体单变量赋值
a = b; //结构体整体变量赋值
名称故意重复的,深入理解每个变量名,然后摸清不同之处
另外的方式
声明时创建结构体变量
struct i{
int a;
char b;
}a, b;
不创建结构体数据类型,这种就不能在结构体外部创建变量了
struct{
int a;
char b;
}a, b;
声明时赋值
struct i{
int a;
char b;
}a, b = {1, 'a', 2, 'b'};
有误的地方我会学习下加以修改