1. typedef常规用法
C语言中使用typedef关键字来定义自己习惯的数据类型名称。
例如自定义一个BOOL类型
typedef int BOOL; #define True 1 //使用自定义的BOOL类型 BOOL flag = True;
2.结构体使用typedef
结构体中使用typedef
C语言中一般的结构体
struct lept_value { double n; }; //调用此结构体时 struct lept_value value; //需要加一个struct
使用typedef
typedef struct { double n; }lept_value ; //调用此结构体时 lept_value value;
typedef将struct这一个无名结构体定义为lept_value 这个名称。
注意:使用typedef时是没有写结构体名的(这样也是可以的)。
3.其他问题
一般的结构体也可以写这样的无名结构体,例如:
struct { double n; }lept_value ;
这样的话,该结构体的变量就只能是lept_value ,不能重命名(不推荐这么写,加一个typedef更规范)
关于更多的typedef可以参考链接
4.C语言中结构体更难的用法
结构体中的成员变量使用结构体自身的指针类型,例如最常见的二叉树结构体定义:
最常见的二叉树使用结构体定义时用到
struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; };
更详细的解释参考链接
5.C++结构体
**C++**中结构体就不需要typedef了
//C++代码 struct lept_value { double n; }; //调用此结构体时 lept_value value;