c语言程序中的结构体与共用体具体是真么一回事?如何定义与使用?有什么区别?求详解!

如题所述

举个简单的例子,结构体可以用于描述动物:有名字、体重、体长等不同类型的变量,和吼叫、进食睡眠等函数,这些存进去以后想用哪个用哪个;而共用体则可以用于描述物种:将灵长类、爬行类、鸟类等等不同类型变量都放进一个共用体里,一个动物如果是灵长类就不可能是爬行类,是爬行类就不可能是鸟类,如果你最后定它是鸟类,再用它的时候就绝不会是灵长类或爬行类,只会是你最后一次定义的鸟类,但是你往里存的时候什么类都可以往里存,虽然同一时间只存在一个。
定义的语法都差不多,标识符跟名称跟大括号括起的内容,使用时再用标示符跟名称跟变量名
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-30
下面是结构体,就是把变量集合在一起,包含多个变量,同时存在
struct point   
{   
  int x;
  int y;   
};
共用体是几种不同类型的变量存放到同一段内存单元中。使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构。
union data   
{
  int i;
  char ch;
  float f;   
}a,b,c;
共用体变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用。
相似回答
大家正在搜