用typedef自定义的数据类型是一种新类型吗?

如题所述

第1个回答  2019-12-27
严格说,它不是一种新类型,使用typedef一般用来达到以下几个目的:
1,用来定义一种类型的别名,这样,可以用它来连续定义变量,而不是简单的宏替换,比如:
typedef
char*
PCHAR;
PCHAR
pa,
pb;
2,在C时代,定义了一个结构体之后,再使用的时候还要加上struct关键字才能用来定义变量,这样会比较麻烦,而使用typedef来定义之后,就可以不用写struct关键字了,比如:
typedef
struct
tagPOINT
{
int
x;
int
y;
}POINT;
POINT
p1;
当然,,C++里可以不用这样,因为C++使用结构体的时候不需要加struct关键字
3,用typedef来定义与平台无关的类型。
比如你有一个跨平台的项目,需要统一使用一种双精度浮点型的类型,而在一些平台上可能没有这种实现,或者实现不同,这时候你就可以根据不同的平台来定义你自己的类型
4,用来使复杂的定义简单化,最常用的就是给函数指针定义一个别名
所以,总的来说,typedef并不是“发明”了另外一种新类型,而相当于是一种类型的别名,为了方便使用。

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网