关于struct和typedef struct
2024-09-06 21:32:21
以
struct TelPhone{ char Name[]; char TeiNumber[];
};
为例 这里先定义了一个 TelPhone的结构体。
加入需要为TelPhone定义一个别名:
其语法为
typedef TelPhone TP;
而实际上TelPhone为一个结构体,
这样写比较好
tepedef struck TelPhone TP;
因为我们的TelPhone是我们自定义的类型,所以我们了解,但是别人不一定会了解,如果我们再加上struck这个关键字,别人就会知道这是一个自定义的类型,也不会造成费解。
所以最终演化成了
如下写法
typedef struct TelPhone{
char Name[];
char TelNumber[];
}TP;
此时,我们可以定义
可以
struct TelPhone tp1;
也可以,直接
TP tp2;
如果我们不需要struct TelPhone,也可以直接
typedef struct {
char Name[];
char TelNumber[];
}TP;
这样只能通过TP来定义结构体了。
在c++中的区别
如果我们定义了
struct TelPhone{
char Name[];
char TeiNumber[];
};
那么可以直接视同TelPhone来定义结构体变量
TelPhone tp1;
c++中
struct Student
{
int a;
}stu1;//stu1是一个变量
stu1就表示一个Student类型的结构体变量
而:
typedef struct Student2
{
int a;
}stu2;//stu2是一个结构体类型=struct Student
和c语言中没有差别。
最新文章
- 使用KRPano资源分析工具分析动态网站资源
- select in 在postgresql的效率问题
- Dapper.NET 使用简单举例
- 关于学习是UIWebView的一些思考
- Python异步IO --- 轻松管理10k+并发连接
- compass做雪碧图
- BestCoder Round #69 (div.2)(hdu5611)
- Redis缓存 ava-Jedis操作Redis,基本操作以及 实现对象保存
- C# 基础知识 protected 关键字
- 编写自己的一个简单的web容器(一)
- UnityShader之遮挡透明
- .Net45下HttpClient的几个缺陷
- String 和 StringBuilder
- 20155326《网路对抗》Exp8 WEB基础实践
- centos7下kubernetes(5。部署kubernetes dashboard)
- tensorflow中的Supervisor
- SQL创建索引和删除索引
- 内联/块级元素的宽高及margin/padding的说明 |||||| 为何img、input等内联元素可以设置宽、高
- VS2010部署相关
- CORS &; X-Frame-Options