全国计算机等级考试网 资讯快报 | 报考指南 | 一级考试 | 二级考试 | 三级考试 | 四级考试 | 证书查询
各省考试: | |
您现在的位置: 全国计算机等级考试网 >> 二级考试 >> C语言 >> 辅导 >> 文章正文
辅导:C语言里的位域
作者:佚名    文章来源:不详    点击数:    更新时间:2008-10-17 
【字体:
   C语言里的位域是一个比较复杂的问题,涉及的方面也比较多,关于位域的基础内容可以参考以下文章:理解C语言位域
  分析代码如下:
  #include "stdio.h"
  #include "memory.h"
  struct BitSeg1{
  int a:4;
  int b:3;
  };
  struct BitSeg2{
  char a:4;
  char b:3;
  };
  int main()
  {
  struct BitSeg1 ba1;
  ba1.a=1;
  ba1.b=2;
  printf("第一次赋值后: a的值为:%d\tb的值为:%d\n",ba1.a,ba1.b);
  ba1.a=100;
  ba1.b=30;
  printf("第二次赋值后: a的值为:%d\tb的值为:%d\n",ba1.a,ba1.b);
  char str[]="0123";
  memcpy(&ba1,str,sizeof(BitSeg1));
  printf("第二次赋值后: a的值为:%d\tb的值为:%d\n",ba1.a,ba1.b);
  printf("BitSeg1的字节数为: %d\n",sizeof(BitSeg1));
  printf("BitSeg2的字节数为: %d\n",sizeof(BitSeg2));
  return 0;
  }
  输出结果为:
  第一次赋值后: a的值为:1 b的值为:2
  第二次赋值后: a的值为:4 b的值为:-2
  第二次赋值后: a的值为:0 b的值为:3
  BitSeg1的字节数为: 4
  BitSeg2的字节数为: 1
  代码中的BigSeg1定义了两个int类型的字段,而且它们分别只占用4位和3位的空间。当BitSeg1中的a,b分别赋值为1和2时,输出的结果也如我们所料。当第二次赋值为100和30时,输出的结果却是4和-2,为什么呢?
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    更多资讯
     C基础(VC中的TRACE宏) (10月30日)
     C基础(C语言软件开发头文件组织问题) (10月30日)
     C基础(再忆起C/C++) (10月30日)
     C语言学习应该注意的地方 (10月27日)
     MFC对话框简单实现窗口全透明的方法 (10月27日)
     wince5.0下编译嵌入式操作系统sysgen阶段 (10月27日)
     C实例编程(删除子字符串的程序) (10月23日)
     C技巧(通过注册表寻找应用程序路径) (10月23日)
     MFC常用宏的分类及其作用与用法 (10月22日)
     用eclipseCDT搭建C语言开发环境 (10月22日)
     VC6.0数据库编程之MFCODBC (10月22日)
     VC中调用XMLHTTP对象访问远程数据的代码 (10月22日)
     下面的C++代码能编译么? (10月22日)
     用迭代法求近似平方根 (10月17日)
     辅导:C语言里的位域 (10月17日)
     vc操作微软消息队列的方法 (10月17日)
     c语言中static变量使用方法 (10月17日)
     C语言函数规范写法 (10月17日)
     C基础(格式化数据的读和写) (10月17日)
     指向函数的指针变量作函数参数 (10月17日)
     ·热门图文

    辅导:C语言里的
     ·热门课程培训
    普通文章 湖南:2008年下半年计算机等级考试6月10日-25日报
    普通文章 海南:2008年下半年计算机等级考试报名
    普通文章 关于2008年下半年山西省全国计算机等级考试报名
    普通文章 四川:2008年下半年全国计算机等级考试开始报名
    普通文章 河南:2008年下半年计算机等级考试6月1日-7月15日
    普通文章 福建:2008年下半年计算机等级考试报名
    普通文章 宁夏:2008年下半年计算机等级考试报名
    普通文章 广西:2008年下半年计算机等级考试报名
    普通文章 江苏:2008年下半年计算机等级考试报名
    普通文章 2008年全国计算机等级考试启用新版教材
     ·最新推荐信息
     新疆:2008年下半年计算机等级考试报名
     2009年4月一级笔试练习习题汇总
     全国计算机等级考试职业英语一级全国计算机等级考试网纲(2008年
     全国计算机等级考试二级Delphi考试
     2008年上半年全国计算机等级考试成绩查询信息汇总
     2008年下半年全国计算机等级考试报名信息汇总
     2008年9月NCRE成绩查询通知
     全国职称计算机考试三大变化6月17-23日开考
     2006下半年开始计算机等级考试成绩可替换相关自考
     浙江省高校计算机等级考试发展简史