2012年(1008)
分类:
2012-08-01 11:19:22
原文地址:C_共用体 作者:luozhiyong131
1、共用体变量任何时刻只有一个成员存在
2、共用体变量定义分配内存,长度=最长成员所占字节数
3、共用体变量中起作用的成员是最后一次存放的成员
4、不能在定义共用体变量时初始化
/*
*共用体
*Lzy 2011-5-14
*/
#include
union variant /* 定义一个共用体类型,该类型数据占用4个字节*/
{
char c; /* 字符型成员 */
int i; /* 整型成员 */
};
union variant x; /* 定义共用体变量,这里定义为全局变量,所以变量的全部字节的初值都为0 */
int main()
{
x.c='A'; /* 为共用体变量中的字符型成员赋值 */
printf("%d\n",x.i); /* 此时共用体变量4个字节的取值情况为0x00000041 */
x.i=0xFFFFFF42; /* 为共用体变量中的整型成员赋值,0x42为字母B的ASCII码*/
printf("%c\n",x.c);
return 0;
}
/*
*将一个整数按字节输出
*Lzy 2011-5-14
*/
#include
union int_char
{
int i;
char ch[2];
}x;
int main()
{
x.i=24897;
printf("i=%o\n",x.i);
printf("ch0=%o,ch1=%o\n,ch0=%c,ch1=%c\n",x.ch[0],x.ch[1],x.ch[0],x.ch[1]);
}
/*
*枚举
*Lzy 2011-5-14
*/
#include
enum week /* 定义一个枚举类型 */
{
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};
int main()
{
enum week a, b; /* 定义一个枚举变量 */
a=TUESDAY; /* 枚举常量TUESDAY的值为2 */
b=THURSDAY; /* 枚举常量THURSDAY的值为4 */
int c=6;
printf ("a = %d\nb = %d\nc = %d\n",a,b,c); /* 输出枚举变量和整型变量的值 */
return 0;
}
——第二部分:Linux C