typedef简单用法

1、typedef工具是一种高级数据特性,他使您能够为某一类型创建自己的名字。

例如:

typedef unsigned char BYTE

通常我们使用醒目的大写字母定义,以提醒用户这个类型名称是一个符号缩写

接下来就可以用刚刚定义的类型名BYTE来定义变量了

BYTE x;

2、typedef用来命名一个结构类型时,可以省去结构的标记:

struct x1
{
    ......
};
typedef struct
{
    ......
} x2;

第一种形式声明了一个“结构标签”,第二种声明了一个“类型定义”

struct x1 a;
x2 b;

3、说起typedef,就不得不提到与它很相似的#define,他们都能自定义创建自己的名字,但也存在一些不同:

(1)与#define不同,typedef给出的富豪名称仅限于对类型,而不是对值;

(2)typedef的解释由编译器,而#define则通过预处理器执行;

(3)typedef比#define更加灵活,体现之一就是在指针问题的处理上。

例如下面的例子:

typedef char *String_t;
#define String_d char*

String_t s1, s2;
String_d s3, s4;

结果是s1, s2, s3都被定义成了char *,但s4却被定义成了char类型,这显然不是我们希望看到的。

 

参考资料:(1)《C Primer Plus》第五版

(2)《你必须知道的495个C语言问题》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值