C语言中结构体用到的typedef

简介: 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;
目录
相关文章
|
17天前
|
C语言
C语言结构体内存对齐
C语言结构体内存对齐
C4.
|
1月前
|
存储 数据管理 C语言
C语言的结构体数组
C语言的结构体数组
C4.
22 0
C4.
|
1月前
|
搜索推荐 C语言
C语言的结构体变量
C语言的结构体变量
C4.
10 0
|
21天前
|
存储 编译器 Linux
【C语言】自定义类型:结构体深入解析(二)结构体内存对齐&&宏offsetof计算偏移量&&结构体传参
【C语言】自定义类型:结构体深入解析(二)结构体内存对齐&&宏offsetof计算偏移量&&结构体传参
|
18天前
|
存储 C语言
C语言自定义类型结构体详解
在C语言中,结构体是复合数据类型,能组合不同类型的数据显示。定义结构体用`struct`关键字,如`struct Student {char name[20]; int age; float score;};`。声明结构体变量如`struct Student stu1;`,访问成员用`.`操作符,如`stu1.age = 20;`。初始化可直接赋值`struct Student stu1 = {"李四", 22, 85.5};`。结构体数组如`struct Student stuArray[3]`,结构体指针如`struct Student *pStu = &stu1;`。
5 0
|
21天前
|
存储 搜索推荐 编译器
【C语言】一篇文章深入解析联合体和枚举且和结构体的区别
【C语言】一篇文章深入解析联合体和枚举且和结构体的区别
|
21天前
|
存储 网络协议 编译器
【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇
【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇
|
28天前
|
存储 编译器 C语言
【C语言】结构体的大小是如何计算的?(结构体对齐)
【C语言】结构体的大小是如何计算的?(结构体对齐)
27 0
|
1月前
|
存储 网络协议 编译器
C语言第三十一弹---自定义类型:结构体(下)
C语言第三十一弹---自定义类型:结构体(下)