typedef和#define的区别

一、typedef的用法
  • 1、在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:

    typedef    int       INT;

    typedef    char*  Pchar;

    typedef   (int*)   pINT;

    typedef    unsigned char uchar;     // 将频繁使用且较长的类型定义一个别名

    2、typedef的另外一类用法是某个类型的直接引用限制到一个地方。如:

    typedef    int    int32;

    typedef    short  int16;

    当程序移植到一个sizeof(int)== 2的机器上时,只需要在代码中重新如下定义:

    typedef   long    int32;

    typedef   int       int16;

    一定要明确的一点是:typedef只是用来定义其他类型的同义词(或者别名),而不是一个独立的类型。

    typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。

二、#define的用法

#define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编

译过程中进行,而是在这之前(预处理过程)就已经完成了 ,但也因此难以发现潜在的错误及其它代码维护问题,#define的用法如下:

#define   INT             int  //用INT代替int

#define   TRUE          1     //用TRUE 1

#define   Add(a,b)     ((a)+(b));

#define   Loop_10    for (int i=0; i<10; i++)

  •  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值