/*
这里定义了一个未命名的结构体,
并同时创建了名为t_s_ele的该结构体的变量,
但后续无法再次申请该结构体类型变量
TODO:挖坑,未命名结构体,在运行时,在进程内部如何指向内部结构?
*/
struct {
int a;
int b;
}t_s_ele;
/*
这里定义了一个名为t_s1的结构体,
申请该结构体变量时,应使用
struct t_s1 xxx;
*/
struct t_s1
{
int a;
int b;
};
/*
这里定义了一个名为t_s2的结构体,
并同时创建了名为t_s2_ele的该结构体的变量,
申请该结构体变量时,应使用
struct t_s2 xxx;
*/
struct t_s2
{
int a;
int b;
}t_s2_ele_1;
/*
这里定义了一个未命名的结构体,
但是对这结构体进行了类型定义为t_s3
申请该类型变量时,应使用
t_s3 xxx;
*/
typedef struct
{
int a;
int b;
}t_s3;
/*
这里定义了一个名为t_s4_a的结构体,
同时对这结构体进行了类型定义,为t_s4_b
申请该类型变量时,应使用
struct t_s4_a xxx; 或者t_s4_b xxx;
*/
typedef struct t_s4_a
{
int a;
int b;
}t_s4_b;
/*
TODO:挖坑,这里使用test xxx 与使用 struct test xxx申明变量有什么区别?
后续填。
*/
typedef struct test
{
int a;
int b;
}test;
void test_fun(void)
{
// 已经存在变量t_s_ele, t_s2_ele_1
struct t_s1 t_s1_ele;
struct t_s2 t_s2_ele_2;
t_s3 t_s3_ele;
struct t_s4_a t_s4_a_ele_1;
t_s4_b t_s4_b_ele_1;
t_s_ele.a = t_s1_ele.a = t_s2_ele_1.a
= t_s2_ele_2.a = t_s3_ele.a
= t_s4_a_ele_1.a = t_s4_b_ele_1.a
= 111;
}