关于c语言中typedef union和union的区别 // 双字 公用体定义

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:06:23
有这样一段c语言编码
typedef union L
{
uint32 L;
uint16 W[2];
uint8 B[4];
};
这样一段
union L
{
uint32 L;
uint16 W[2];
uint8 B[4];
};
其中uint32之类都是自定义数据类型。
问题是 想知道 两者区别是typedef的有无,求教高手区别在哪里?

typedef union 是把共用体重命名的写法。typedef详解如下:
1、typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。
2、这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
3、在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。
4、格式 typedef 原类型名 新类型名

使用上是没有区别的,我有时候这么写,目地是为了避免链表结构中,指向自己前级单元的声明编译器无法离解,因此用个typedef让编译器认为这是一个类型.