关于typedef的用法,网上已经有很多前辈总结过了,在这里我不想标新立异,代码阅历不一样,所理解的typedef的层次各有不同。这里,我想就我所理解的typedef用更加通俗易懂的方式写出来。
在开始之前,要始终牢记:
typedef的本质是取一个别名
先从简单的说起:
- typedef alias type型
这里,typedef后面有2个量。这种方式是我们通常见到的最多的用法
Linux下面,变量命名不能将就匈牙利命名法。
typedef就是为一种类型取别名,我们用这个别名去定义变量,那么该变量的类型就是别名的原始引用(可能说引用有些不太恰当)
i_type是int的别名。
那么用i_type去定义变量
i_type sun
实际上就是对原始类型(这里的原始变量是指int)的引用
即int sun
typedef alias type这种类型的还很多。
例如:
这样的例子还很多,我就不一一列举了。
- typedef express 型
这里,typedef,后面只有包含了别名的一个量或者一个表达式。
先举一个例子
分析道这里。你应该大概能看到typedef的意思了。
typdef char* point;
去掉typedef,point是一个指向char类型的指针。
那么
point ptr
ptr也就是一个指向char的指针。
为了验证自己的理解,可以随便找几个typedef分析,看能不能分析透彻。
版权申明:
转载文章请注明原文出处http://blog.csdn.net/feiyinzilgd/archive/2010/12/14/6076396.aspx
并请联系谭海燕本人或者前往谭海燕个人主页留言