爱问知识人 爱问教育 医院库

请问各位C程序高手

首页

请问各位C程序高手

请问你们在编程中对共同体是怎么理解的,你们为什么在编程中使用UNION
我是指C语言编程

提交回答
好评回答
  • 2006-09-01 09:06:58
    union在系统编程中用的很广泛
    用union有很多技巧
    如:
    int是32位的(x86 32位平台 C99)有时我们需要对它的每8位进行操作,这时就可以用union了。
    union uitoc
    {
    int i;
    char c[4];
    }
    同样我们也可以用它来减化字符数组的复制
    正常来说对于字符数组的复制我们要用循环
    char a[4]={'a','b','c','d'};
    char b[4];
    for(int i = 0 ; i < 4 ; ++i )
    {
     b[i]=a[i];
    }
    如果用上面的结构体的话,不是就很简单了吗? 
    b.i = a.i就可以了。

    云***

    2006-09-01 09:06:58

其他答案

    2006-08-31 12:51:05
  • UNION其实不是非常好,但有些时候我们会这么用
     union _LARGE_INTEGER 
    {
        struct {
            DWORD LowPart;
            LONG HighPart;
        };
        struct {
            DWORD LowPart;
            LONG HighPart;
        } u;
    };
    

    y***

    2006-08-31 12:51:05

  • 2006-08-31 11:24:41
  •   共同体就是大家共用同一块地方.
      比方公园里的长椅是共用体,你可以坐,他也可以做.大家共同使用.
      共同体变量以UNION开头,进行标识.表示程序运行时申请到的这块内存可以共同使用.
      比方说吧,内存长度是32位,一个整型变量是4位,可以定义8个整型变量在这个区域,一个字符型变量是8位,就可以定义4个字符型变量.该区域现在的值是[00010002000300040005000600070008],可以表示八个数字[1,2,3,4,5,6,7,8],或者是4个字符[字符1(ASCII码为00010002),字符2(ASCII码为00030004),字符3(ASCII码为00050006),字符4(ASCII码为00070008)]

    p***

    2006-08-31 11:24:41

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):