Typedef使用

typedef的语法描述

typedef 类型名称 类型标识符;

typedef为系统保留字,“类型名称”为已知数据类型名称,包括基本数据类型和用户自定义数据类型,“类型标识符”为新的类型名称。例如:

typedef double LENGTH;

typedef unsigned int COUNT;

定义新的类型名称之后,可像基本数据类型那样定义变量。例如:

typedef unsigned int COUNT;

unsigned int b;

COUNT c;

 

typedef 的主要应用形式

typedef 的主要应用有如下的几种形式:

1) 为基本数据类型定义新的类型名。

2) 为自定义数据类型(结构体、公用体和枚举类型)定义简洁的类型名称。

3) 为数组定义简洁的类型名称。

4) 为指针定义简洁的名称。

 

1.  为基本数据类型定义新的类型名

typedef unsigned int COUNT;

typedef double AREA;

 

2。 为自定义数据类型(结构体、公用体和枚举类型)定义简洁的类型名称。例如:

struct Point

{

  double x;

  double y;

  double z;

};

struct Point oPoint1={100,100,0};

struct Point oPoint2;

其中结构体struct Point为新的数据类型,在定义变量的时候均要有保留字struct,而不能像int和double那样直接使用Point来定义变量。如果经过如下的修改,

typedef struct tagPoint

{

  double x;

  double y;

  double z;

} Point;

定义变量的方法可以简化为

Point oPoint;

由于定义结构体类型有多种形式,因此可以修改如下:

typedef struct

{

  double x;

  double y;

  double z;

} Point;

 

使用typedef注意的问题

 

在使用typedef时,应当注意如下的问题:

1) typedef的目的是为已知数据类型增加一个新的名称。因此并没有引入新的数据类型。

2) typedef 只适于类型名称定义,不适合变量的定义。

3) typedef 与#define具有相似的之处,但是实质不同。

提示#define AREA double 与typedef double AREA 可以达到相同的效果。但是其实质不同,#define为预编译处理命令,主要定义常量,此常量可以为任何的字符及其组合,在编译之前,将此常量出现的所有位置,用其代表的字符或字符组合无条件的替换,然后进行编译。typedef是为已知数据类型增加一个新名称,其原理与使用intdouble等保留字一致。

 

https://blog.csdn.net/zhaoyl03/article/details/8195621

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值