【C++学习笔记】之——typedef和#define

typedef

         关键字typedef是为类型起一个别名

         例:    typedef int INT;            //代码中INT和int的作用是一样的

#define

         宏定义#define起替换作用,即是简单替换

         例:    #define INT int;             //将代码中int简单替换为INT

二者区别可通过以下例子理解:

          typedef int* INTPTR1;

          #define INTPTR2 int*;

          INTPTR1 a,b;                  //a,b均为 int* 类型的指针

          INTPTR2 c,d;                  //a为 int* 类型的指针,b为整型

需要注意的是,如果类型的别名是指代了复合类型,那么在使用时会有意想不到的后果,比如:

          typedef int * pstint;

          num = 10;

          const pstint number = #

这里   pstint是 int* 的别名,所以number本身是个常量指针,而不是指向常量的指针,即

const pstint number = &num 可以等效为 int * const number = &num,  而非简单替换后的

const int * number = &num

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值