关于typedef的用法总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于typedef的用法总结相关的知识,希望对你有一定的参考价值。

不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法。

 

用途一:

定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:

char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,

// 和一个字符变量;

以下则可行:

typedef char* PCHAR;

PCHAR pa, pb;  

这种用法很有用,特别是char* pa, pb的定义,初学者往往认为是定义了两个字符型指针,其实不是,而用typedef char* PCHAR就不会出现这样的问题,减少了错误的发生。

 

用途二:
用在旧的C代码中,帮助struct。以前的代码中,声明struct新对象时,必须要带上struct,即形式为: struct 结构名对象名,如:

1 struct tagPOINT1
2 
3  {
4     int x;
5 
6     int y; 
7 };
8 
9 struct tagPOINT1 p1;

 

而在C++中,则可以直接写:结构名对象名,即:tagPOINT1 p1;

1 typedef struct tagPOINT
2 {
3     int x;
4 
5     int y;
6 }POINT;
7 
8 POINT p1; // 这样就比原来的方式少写了一个struct,比较省事。

 

以上是关于关于typedef的用法总结的主要内容,如果未能解决你的问题,请参考以下文章

结构体中typedef语句用法总结

typedef的用法总结

typedef的用法总结

C语言常用关键语法精华总结

C++ typedef用法详解

typedef的用法结构体