一、 基本定义格式
struct 结构体类型名{
elementtype name;
}结构体变量名;
二、匿名结构体
struct { //定义时去掉结构体类型名
elementtype name;
}结构体变量名;
注意:匿名结构体只能作用于函数内部使用,即不能在其他函数调用,在本函数内部可以多次使用
三、加入typedef
①
typedef struct{ //定义时去掉结构体类型名
elementtype name;
}结构体变量名;
调用结构体内部变量格式 结构体变量名.name;
②加上结构体类型名
typedef struct 结构体类型名{
elementtype name;
}结构体变量名;
上述等价于
struct 结构体类型名{
elementtype name;
};
typedef struct 结构体类型名 结构体变量名;
③加指向结构体的指针
typedef struct 结构体类型名{
elementtype name;
struct 结构体类型名 *next;
}结构体变量名,*结构体指针;
等价于
typedef struct 结构体类型名{
elementtype name;
}结构体变量名,*结构体指针;
typedef struct 结构体类型名 结构体变量名;
typedef struct 结构体类型名 *结构体指针;
④ 结构体内部加指针
typedef struct 结构体类型名{
elementtype name;
struct 结构体类型名 *next; //struct后面名字必须与第一行相同
}结构体变量名,*结构体指针;
通常我们将结构体类型名和结构体变量名写为一样的,这样方便操作代码
本文详细解释了C语言中struct的基本定义,包括命名结构体、匿名结构体的使用限制,以及typedef在不同情况下的应用,如类型声明、指针指向结构体等,强调了结构体类型名和变量名的一致性以简化代码操作。

2万+

被折叠的 条评论
为什么被折叠?



