struct 和typedef struct的区别
和int char一样struct也是一种数据类型,也可以声明变量--结构变量。
定义结构体变量的一般格式为:
struct 结构名
{
类型 变量名;
类型 变量名;
...
}结构变量;
另一种常用的格式为:
typedef struct 结构名
{
类型 变量名;
类型 变量名;
...
}结构别名;
结构名是结构的标识符,它不是结构变量名,可加可不加。
Struct 在C语言中有下面四种用法:
1.
struct
{
int num;
char name;
}Stu;
Stu是这个结构体的结构变量,不能再声明其他结构变量,
只能直接访问
Stu.num;
2.
struct Student
{
int num;
char name;
}Stu;
必须使用struct Student声明struct变量
struct Student Stu1;
Stu1.num;
而Stu已经被声明成struct变量可直接访问
Stu.num;
3.
typedef struct
{
int num;
char name;
}Stu;
Stu相当于 struct{}的别名,可以声明struct变量。
Stu Stu1;
Stu1.num;
4.
typedef struct Student
{
int num;
char name;
}Stu;
struct Student Stu1;
Stu1.num;
有typedef后,Stu相当于struct Struct{}的别名,可以声明struct变量
Stu St2;
St2.num;
在c++中很简单,直接
struct Student
{
int num;
char name;
}Stu;
申明变量时可直接 Student Stu1;
而Stu还是struct变量,可直接访问Stu.num;
在c++中使用typedef赋别名也和C中一样,只不过它可直接使用结构名,命名结构变量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】