码迷,mamicode.com
首页 > 其他好文 > 详细

未明白问题

时间:2016-03-29 22:32:53      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:c语言


1.

typedef struct AA{
 int b1 : 5;
 int b2 : 2;
}AA;

void main()
{
 AA aa;
 printf("%d/n", ‘A‘);
 char cc[100];
 strcpy(cc,"0123456789abcdefghijklmnopqrstuvwxyz");
 memcpy(&aa,cc,sizeof(AA));//将sizeof(AA)个连续的字节空间(从cc开始),源和目的地不能重叠
 printf("%d %d/n", aa.b1, aa.b2);

}

  首先sizeof(AA)的大小为4,b1和b2分别占5bit和2bit.经过strcpy和memcpy后,aa的4个字节所存放的值是: 0,1,2,3的ASC码,即00110000,00110001,00110010,00110011所以,最后一步:显示的是这4个字节的前5位,和 之后的2位分别为:10000,和01,因为int是有正负之分


本文出自 “11378347” 博客,请务必保留此出处http://11388347.blog.51cto.com/11378347/1758155

未明白问题

标签:c语言

原文地址:http://11388347.blog.51cto.com/11378347/1758155

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!