共用体的使用

以下是谭浩强老师的讲解。很容易懂。真的是大师。

1、有时需要将几个不同时出现的变量共享一个内存单元,如:将一个整型变量、实型变量、字符型变量共同放入同一个地址空间(当然这几个变量不能同时用),怎么办?

     C提供了构造类型——共用体(联合体)类型支持。
 
2、共用体变量特点:几个成员共用一段内存。
引申1:共用体变量的内存长度是多少?
              最长成员所占字节数。
引申2:共用体变量几个成员能同时存在吗?
              不能。一个时刻只有一个成员存在。否则会被覆盖。
引申3:共用体变量成员不能同时存在,那当前起作用的是谁?
                起作用的成员是最后一次存放的成员
 
这个例子用来理解共用体比较合适。金额中有小数点。

union UNKNOWN
  {
   DDWORD lc;
   BYTE c;
  }VAR1;
 
  result = 0;
 
  for (i=0;i<len;i++)
  {
    result = (result<<3) + (result<<1);
    VAR1.lc = 0;
    VAR1.c = num[i] - 0x30;
    result += VAR1.lc;
  }
  return result;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值