C语言中结构体用到的typedef

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;

你可能感兴趣的:(C++,c语言,开发语言,后端)