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;