<div id="newsContent">
<p style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254); text-align:left"> <span style="font-size:14px"><span style="font-family:tahoma">不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了。</span></span></p>
<p style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254); text-align:left"> <span style="font-size:14px"><span style="font-family:tahoma"><strong style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; padding-top:0px"><span style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; line-height:1.5; padding-top:0px">用途一:</span></strong></span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma"><span style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; line-height:1.5; padding-top:0px">定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:</span></span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma">char* pa, pb; // <span style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; line-height:1.5; padding-top:0px">这多数不符合我们的意图,它只声明了一个指向字符变量的指针,</span></span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma">// <span style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; line-height:1.5; padding-top:0px">和一个字符变量;</span></span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma"><span style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; line-height:1.5; padding-top:0px">以下则可行:</span></span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma">typedef char* PCHAR;</span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:rgb(0,0,0); line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma">PCHAR pa, pb; </span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:red; line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma">这种用法很有用,特别是char* pa, pb的定义,初学者往往认为是定义了两个字符型指针,其实不是,而用typedef char* PCHAR就不会出现这样的问题,减少了错误的发生。</span></span></p>
<p align="left" style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:5px auto; color:red; line-height:18px; padding-top:0px; font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; background-color:rgb(245,250,254)"> <span style="font-size:14px"><span style="font-family:tahoma"><span style="color:#000000"><span style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; line-height:1.5; padding-top:0px"><span style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin:0px; line-height:1.5; padding-top:0px"><strong>用途二:</strong></span></span></span><br style="padding-right:0px; padding-left:0px; padding-bottom:0px; margin |
|