C语言里的typedef简介

       typedef工具是一种高级的数据特性,它使得我们能够为某一类型创建我们就想要的名字。在这个方面,它和#define相似,但是它们具有3个不同之处:

       1、与#define不同,typedef给出的符号名称仅限于对类型,而不是对值。

       2、typedef的解析由编译器,而不是预处理器执行。

       3、虽然它的范围有限,但在其受限范围内,typedef比#define更灵活。

       我们来看看typedef如何工作?

       typedef  unsigned char BYTE;    (记得末尾要有“;”,这个与#define不一样)

       随后我们就可以使用BYTE来定义变量啦;   如:BYTE x,y[10],*z;

       又如:typedef char * STRING;  如果没有typedef,该例将STRING识别为一个char指针,有了这个关键字,使得STRING成为char指针的标识符。因此;STRING name,sign;意思是char  *name,*sign;  

       但是,假如我们这样做,#define  STRING char *

       那么,将会被翻译成下面的形式;

       char *name,sing;

       typedef还可以用于结构体中;如:
       typedef  struct complex

      {

               float  real;

               float  imag;

       }COMPLEX;

       这样,我们就可以用COMPLEX代替struct  complex来表示。

       使用typedef的另外一个原因是typedef的名称经常被用于复杂的类型,如:

        typedef  char (* FRPTC()) [5];

        这把FRPTC声明为一个函数类型,该类型的函数返回一个指向由5个元素的char数组的指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值