typedef 与 #define的问题

1、菜鸟养成记第一篇章

typedef 与 #define的问题
有下面两种定义pStr数据类型的方法,两者有什么不同?哪一种更好一点?

typedef char* pStr;    

#define pStr char*;   

答案与分析:

    通常讲,typedef要比#define要好,特别是在有指针的场合。
请看例子:

typedef char* pStr1;  

#define pStr2 char *  

pStr1 s1, s2; // char* s1; char* s2;  

pStr2 s3, s4; // char* s3, s4;即 char s4;  

在上述的变量定义中,s4则定义成了char,不是我们所预期的指针变量,根本原因就在于

#define只是简单的字符串替换而typedef则是为一个类型起新名字

上例中define语句必须写成 pStr2 s3, *s4; 这这样才能正常执行。

转载:C++ typedef详解_jupeiii的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值