C++中typedef是什么意思啊

typedefstructmsg{DWORDdd;WORDss;doublesd;doublesdf;}msg,*gg;typedefDWORD(PASCAL*pp)(g... typedef struct msg
{
DWORD dd;
WORD ss;
double sd;
double sdf;
} msg, *gg;
typedef DWORD (PASCAL *pp)(gg);
恳请详解,不胜感激!
展开
 我来答
拾趣世界
高粉答主

推荐于2019-08-05 · 分享新鲜事,感谢关注
拾趣世界
采纳数:11 获赞数:86027

向TA提问 私信TA
展开全部

C++中typedef为C语言的关键字,其作用是给某种数据类型定义一个新的名字。关于typedef的更多介绍如下:

1.在C语言编程中,可以使用【typedef】关键字来重新命名一个数据类型,这里指的数据类型包括基本数据类型如int ,char,double等和结构数据类型struct等。

2.使用typedef的目的主要有两个,其一是为了让自己在后续编程时方便记住变量的名字,其二是为了简化一些变量名称较长的名字。

3.常见的用法如下:

该代码中,使用Status来代替int的表达,使用DATE来代替double的表达。

扩展资料:

使用typedef关键字需要注意:

(1)用typedef只是对已经存在的类型增加一个类型名,而没有创造一个新的类型。只是增加了一个新名字,可以用该名字定义变量,比如使用上文中的Status定义变量i;则i变量的类型为int型。

(2)可以用typedef声明新类型名。但是不能用来定义变量。

参考资料来源:百度百科-typedef

LycrusHamster
推荐于2017-10-03 · TA获得超过889个赞
知道小有建树答主
回答量:487
采纳率:100%
帮助的人:113万
展开全部
typedef A B
就是说 我给A类型一个别名 称为B
这个typedef看上去比较鸡肋 其实有3种用法
1。你可能定义结构体structure或者类class,那么每次申明新的结构体或类时你要重复写关键字,而且名字比较长,很烦人,就可以用typedef,给一个简短的名字。举例Struct St{.....一堆变量...}
你每次申明都要 Struct St a; Struct St b;很烦,特别是St的名字很长。你可以typedef Struct St MyType。之后就可以Mytype A,B;这样方便了。
2。便于后期修改。举例:你可以有个很多对象是int型的,那么你在第1次写程序的时候频繁地写int A;........int B;......int C;这样,但是后期你发现要修改程序从int变到char。难道你每个变量申明的int关键字都修改一次?这样显然很2,你可以typedef int MyType,申明MyType A;.....MyType B;这样。你要转成char 只要把typedef int MyType换成typedef char MyType就可以。很方便。
3。多人协同开发时可以实现定义好类型名,方便开发。
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
推荐于2017-09-14 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6425万
展开全部

typedef是C语言32个关键字之一,意思是重新定义一个数据类型,严格来说,是将现有的数据类型起个新的别名。

这样做的最大好处是:简化复杂类型,提高程序的可读性。

如:

典型应用1:

typedef struct msg
{
DWORD dd;
WORD ss;
double sd;
double sdf;
} msg, *gg;     

//这里是将struct msg结构体类型重新定义为msg

//将struct msg *结构体指针类型,重新定义为gg

分步写就是:

struct msg
{
DWORD dd;
WORD ss;
double sd;
double sdf;
} ;//定义结构体struct msg类型

typedef struct msg  msg ;

typedef struct msg * gg ;

典型应用2:

重新定义一个函数指针类型

typedef int (*pp)(  gg );

该句是重新定义了一个新的数据类型 pp;接下来,可以用pp去定义形如int xxx( struct msg *)类型的函数指针变量了。如:

//定义一个函数func
int func( struct msg * pm )
{
XXX; //函数体
return 0;
}
int main()
{
pp pf=func ; //定义一个函数指针pf,指向func函数
gg m ; //定义一个结构体指针m
pf( m ); //通过pf引用func函数,就相当于调用 func(m);
...
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
八迷缘c
2023-04-26 · 超过14用户采纳过TA的回答
知道答主
回答量:107
采纳率:100%
帮助的人:2.1万
展开全部
typedef struct是定义一个及关键字的别名,无具体含义。它是语言编译过程的一部分,为了使用方便。如:typedef int INTEGER;下面两行等价int i;INTEGER i;可以声明结构体类型:typedef struct {int age;int score;}STUDENT;定义变量:只能写成 STUDENT stu;如果写成typedef struct student{int age;int score;}STUDENT;下面三行等价:STUDENT stu;struct student stu;student stu;在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间。typedef为C语言的关键字,作用是为一种定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。扩展资料:typedef是在中用来为复杂的声明定义简单的别名,它与有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个中。如何创建平台无关的数据类型,隐藏笨拙且难以理解的语法。使用typedef为现有类型创建别名,定义易于记忆的类型名。typedef 还可以掩饰复合类型,如指针和数组。参考资料:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潘达lya
2013-01-05 · TA获得超过1476个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:444万
展开全部
类型定义关键字,他用来定义一个类型。。。。
typedef unsigned int uint;
如果你写这一句话,就定义了一个类型,他的名字是uint 代表无符号数,之后你可以用
uint i;来定义一个无符号数。。。。
你得这句话是定义了一个结构类型,类型名就是msg;
以后你要创建一个这样的结构体只需要msg a;即可,如果没有定义,你就只能写成
struct msg a;
typedef 的用法是 typedef 要定义的类型 使用的类型名;
typdef语句使用后就定义了一个新的类型名用来代替原来的类型,之后就可以使用这个类型,
比如 typdef int i;
i j;
这就定义了一个类型名叫i; 他是int型的,第二句是声明一个i类型的变量j;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式