社区
C++ 语言
帖子详情
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
symbol_bc
2008-04-14 09:59:00
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
...全文
165
13
打赏
收藏
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icosagon
2008-04-16
打赏
举报
回复
主要用来定义指针类型的变量的
MagiSu
2008-04-16
打赏
举报
回复
typedef struct A {} B;
A是一个tag,如果是C的话就必须按照struct A使用。C++则不必。
B是一个type,也就是直接的一个类型。
liveforme
2008-04-16
打赏
举报
回复
学习学习
ytfrdfiw
2008-04-16
打赏
举报
回复
在C++里面,不用typedef struct MyStruc{} OtherStruct;
加上这个typedef是个多余,这是C的写法。
WuBill
2008-04-16
打赏
举报
回复
所以在C++的结构这点上,基本不存在取别名,直接把你所希望的别名作为结构名就行了
WuBill
2008-04-16
打赏
举报
回复
在定义结构这点上,主要是为了和C一致
C中:
struct Test{
int a;
};
这时,如果要定义Test对象,就必须是:struct Test t;
如果写成
typedef struct tagTest{
int a;
}Test;
就可以是直接写 Test t;
在C++中,实际上struct几乎可以说是多余的,只是为了和C一致才留了下来
C++,struct和class除了默认访问属性不同外,其他完全一样
在C++中:
struct Test{
int a;
};
就可以直接写Test t;
在C++中class 和struct实际就是名字游戏,留下struct只为了让C程序员更易接受
不想低调
2008-04-14
打赏
举报
回复
lz说的没错 就是给结构取个别名
薛定谔之死猫
2008-04-14
打赏
举报
回复
typedef用来生成alias,像宏一样,可以简化输入
ppzzhhsky
2008-04-14
打赏
举报
回复
只是一种习惯
便于阅读程序的人方便
Treazy
2008-04-14
打赏
举报
回复
[Quote=引用楼主 symbol_bc 的帖子:]
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
[/Quote]
方便:可以自定义类型名
能简化复杂类型
实用
OenAuth.Core
2008-04-14
打赏
举报
回复
这个作用是很强大的,功能简单点说就是给结构体和类起一个别名,比如定义一个结构体或类时:
struct test{
int a;
};
那么你要使用时就必须用下面的格式:
struct test a;
如果你用下面这样定义:
typedef struct test{
int a;
} test;
就可以这样使用 :
test a;
不过现在新版的c++不用TYPEDEF也可以直接用类类名来实现类,不过作为养成良好的编程习惯来说,建议还是加上typedef比较好
langhua0001
2008-04-14
打赏
举报
回复
就是为了方便才用的
wuyu637
2008-04-14
打赏
举报
回复
的确是没有什么区别。不过就是如果你使用了typedef的话,会方便一点。。
struct A{};
struct A a;
==============================
typedef struct B{};
B b;
C语言学习笔记---
typedef
简介
在单片机和操作系统中
typedef
会经常用到,它可以为某一个类型
自定义
名称。和#define比较类似。但是又有不同的地方。
typedef
创建的符号只能用于数据类型,不能用于值。而#define 创建的符号可以用于值。 ...
C语言中的
typedef
详细
使用
方法
我们可以用
typedef
来定义自己习惯
使用
的数据类型名称,可以替代自己所熟悉的基本类型、数组类型、指针类型以及自己定义的
结构
体类型、共用体类型、枚举类型等。另外类型定义如果,在每个函数内部定义,那么它的
使用
...
typedef
和define的
区别
与用法
typedef
关键字和#define有一种共同的作用,为一种类型创建
自定义
的名字,如
typedef
int myint; #define myint int 是一样的,但是他们之间仍然有很大的
区别
。
typedef
语句是在编译过程中被解析的,而#define是...
typedef
和typename关键字
类型说明
typedef
类型说明的格式为:
typedef
类型 定义名;类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。定义名表示这个类型的新名字。例如: 用下面语句定义整型数的新名字:
typedef
int SIGNED_...
C/C++:#define 与
typedef
、const 的
使用
区别
它本身并不在编译过程进
行
,而是在这之前的预处理过程中已经完成了,但也因此难以发现潜在的错误以及其他代码维护问题。
typedef
的用法 typdef常用来定义一个标识符以及关键字的别名,它是语言编译过程的一部分,但...
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章