简单说1,他们都是C语言的一种数据类型。2,结构体和联合体可以含有多种数据类型,枚举只能含有一种基本数据类型,而且为整型。3,结构体和联合体所占的空间不同,结构体按照对其方式每个数据类型都是独立的数据空间,整个结构体所占的空间基本上可以等于或者大于每个独立数据空间的和。而联合体所有数据类型都共享最大的那个数据类型的空间,所占的空间为最大的那个数据类型所占的空间。4,他们的功能不同作用也不尽相同,详细可以baidu一下【结构体,枚举体,联合体的区别】。
结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。 枚举在C/C++/c#中,是一个被命名的整型常数的集合,枚举在日常生活中很常见。 例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, 就是一个枚举。 在进行某些算法的C语言编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构,在C语言中,被称作“共用体”类型结构,简称共用体,也叫联合体。