C语言之位域小记
来源:互联网 发布:java游戏编程下载 编辑:程序博客网 时间:2024/05/16 00:49
在《Applied C:An Interoduction and more》当中讲了讲位域的知识,于是我也想学学,碰巧看到一道C语言的题目,如下:
之前还不懂
#include <stdio.h>struct mybitfields{unsigned short a : 4;unsigned short b : 5;unsigned short c : 7;}test;int main(void){int i = 0;test.a = 2;test.b = 3;test.c = 0;i = *((short *)&test); printf("%d",i); return 0;}
之前还不懂
i = *((short *)&test);这条语句是怎么工作的;问了一个高手后(老罗),现在知道为啥了。
&test 是取test的地址,
(short *)&test是把test的地址转换为short的地址
*((short *)&test)取这个地址指向的值
所以的i的之就是0000000000110010 (刚好是short类型的2个字节的大小)= 50.
- C语言之位域小记
- C语言之位域
- C语言之位域
- C语言之位域
- C语言修行之位域
- C语言结构体之位域
- C语言之位运算
- C语言之位运算
- C语言之位运算
- C语言之位运算
- c语言之位运算
- C语言 位域
- c语言位域
- c语言位域
- C语言位域
- C语言 位域
- C语言位域!
- c语言--位域
- android的UI事件处理
- 如何写一个正确的equals方法
- 如何防止Apache显示文件列表
- 单实例设计模式的实现
- win7共享xp打印机和文件解决方法(图解)
- C语言之位域小记
- zoj 1115 Digital Roots
- 1-3
- atoi()函数的实现
- MQ setup in websphere
- 第5周实验报告任务1.3
- 关闭Windows 2003/2008中IE增强的安全配置的方法
- HIFI耳机基础知识入门
- 黑马程序员-序列化