结构体 typedef
时间: 2023-09-01 10:09:50 浏览: 116
C/C++中的结构体声明: struct 和 typedef struct 用法
回答: 结构体 typedef 是为了方便使用结构体。具体区别在于,若使用 struct node {} 这样来定义结构体的话,在申请变量时需要写 struct node n; 若使用 typedef,可以这样写 typedef struct node{} NODE; 在申请变量时就可以这样写 NODE n; 这样就省去了在使用结构体时需要写 struct 这个关键字。在C语言中,用 typedef 定义一个结构体类型如 typedef struct Student { int a; } Stu; 这样在声明变量时就可以直接使用 Stu stu1; 如果没有使用 typedef,就必须使用 struct Student stu1; 来声明变量。在C中,使用 typedef 还可以直接定义一个匿名的结构体类型,如 typedef struct { int a; } Stu; 这样就定义了结构体类型 Student,并且可以直接使用 Stu stu2; 来声明变量。在C中,如果使用 typedef,会导致变量和结构体类型之间的区别:struct Student { int a; } stu1; //stu1 是一个变量 typedef struct Student2 { int a; } stu2; //stu2 是一个结构体类型 在使用时可以直接访问 stu1.a,但是对于 stu2 则必须先声明变量,然后使用 s2.a = 10; 的方式进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [结构体定义 typedef struct 用法详解和用法小结](https://blog.csdn.net/qq_41848006/article/details/81321883)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [typedef在结构体用法](https://blog.csdn.net/qq873044564/article/details/82290639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文