社区
C++ 语言
帖子详情
一道C/C++面试题
tanglei619
2011-11-18 03:15:37
#include <iostream>
using namespace std;
int main()
{
union V {
struct X {
unsigned char s1:2;
unsigned char s2:3;
unsigned char s3:3;
} x;
unsigned char c;
} v;
v.c = 100;
printf("%d\n",v.x.s3);
return 0;
}
结果为3,何解?
...全文
237
8
打赏
收藏
一道C/C++面试题
#include using namespace std; int main() { union V { struct X { unsigned char s1:2; unsigned char s2:3; unsigned char s3:3; } x; unsigned char c; } v; v.c = 100; printf("%d\n",v.x.s3); return 0; } 结果为3,何解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tanglei619
2011-11-21
打赏
举报
回复
恩 3Q!~
softwarestudying
2011-11-18
打赏
举报
回复
v是联合体(共用体)变量,共有两个元素x和c,都需要一个字节,它们分配于同一个地址。而x是结构体变量,共有三个元素s1、s2、s3,分别占2位、3位、3位。分配内存时低位在前,最位在后。当有v.c=100(其二进制为01100100)时,各变量的关系及内存存储情况见图所示。
其中x的成员s3为二进制的011,即十进制的3,所以输出结果为3。
Zou_prince
2011-11-18
打赏
举报
回复
struct X {
unsigned char s1:2;
unsigned char s2:3;
unsigned char s3:3;
} x;
加入x的二进制为 XXXXzzzyyyxx
s1占最后2位置:xx;(2)
s2占最后5-2位置:yyy;(3)
s1占最后8-5位置:zzz;(3,如果不够,有多少位算多少位)
c = 100
二进制为:1100100
s3=11; s2=001; s1=00;
s3=3; s2=1; s1=0;
假如
c = 200
二进制为:11001000
s3=110; s2=010; s1=00;
s3=6; s2=2; s1=0;
假如
c = 300
二进制为:100101100
s3=001; s2=011; s1=00;
s3=1; s2=3; s1=0;
现在能理解么
dijisaiyaren
2011-11-18
打赏
举报
回复
struct X {
unsigned char s1:2;
unsigned char s2:3;
unsigned char s3:3;
} x;
本人初学者
有个东西不懂啊,这个结构体里面定义的是些啥东西?
unsigned char s1:2;
luciferisnotsatan
2011-11-18
打赏
举报
回复
位域
大小端
tanglei619
2011-11-18
打赏
举报
回复
谢谢帮助,我在想想哈!~
bdmh
2011-11-18
打赏
举报
回复
x和v公用一块内存,而且要看大小端,一般的如下
100二进制是1100100,那么s3是11,s2是001,s1是00
eyodo8
2011-11-18
打赏
举报
回复
这是位结构,100的二进制为01100100,s3是011,打印出来自然是3
嵌入式C/
C++
语言开发精华文章集锦(嵌入式C/
C++
开发者必看,很有价值的文章)
本压缩包文件集锦了嵌入式C/
C++
开发编程技巧,高效编程技术探索,C/
C++
语言相关技术问题的深层探索,并且对嵌入式C/
C++
程序员应聘常见
面试题
进行了深入剖析,对嵌入式C/
C++
开发者编程修炼,提升自身的相关能力具有很要的作用。 文档包含如下内容: struct 深层探索.
C++
中extern "C"含义深层探索. C 语言高效编程的几招 想成为嵌入式程序员应知道的 0x10 个基本问题 C 语言嵌入式系统编程修炼之一:背景篇 C 语言嵌入式系统编程修炼之二:软件架构篇 C 语言嵌入式系统编程修炼之三:内存操作 C 语言嵌入式系统编程修炼之四:屏幕操作 C 语言嵌入式系统编程修炼之五:键盘操作 C 语言嵌入式系统编程修炼之六:性能优化 C/
C++
语言 void 及void 指针深层探索 C/
C++
语言可变参数表深层探索 C/
C++
数组名与指针区别深层探索 C/
C++
程序员应聘常见
面试题
深入剖析(1) C/
C++
程序员应聘常见
面试题
深入剖析(2)
一道
著名外企
面试题
的抽丝剥茧 C/
C++
结构体的一个高级特性――指定成员的位数 C/
C++
中的近指令、远指针和巨指针 从两道经典试题谈 C/
C++
中联合体(union)的使用. 基于 ARM 的嵌入式Linux 移植真实体验 基于 ARM 的嵌入式Linux 移植真实体验(1)――基本概念 基于 ARM 的嵌入式Linux 移植真实体验(2)――BootLoader 基于 ARM 的嵌入式Linux 移植真实体验(3)――操作系统 基于 ARM 的嵌入式Linux 移植真实体验(4)――设备驱动 基于 ARM 的嵌入式Linux 移植真实体验(5)――应用实例 深入浅出 Linux 设备驱动编程 1.Linux 内核模块 2.字符设备驱动程序 3.设备驱动中的并发控制 4.设备的阻塞与非阻塞操作
C 语言嵌入式系统编程修炼
宋宝华的嵌入式C/
C++
编程文章合集,目录: C/C+语言 struct 深层探索
C++
中 extern "C"含义深层探索 C 语言高效编程的几招 想成为嵌入式程序员应知道的 0x10 个基本问题 C 语言嵌入式系统编程修炼 C 语言嵌入式系统编程修炼之一:背景篇 C 语言嵌入式系统编程修炼之二:软件架构篇 C 语言嵌入式系统编程修炼之三:内存操作 C 语言嵌入式系统编程修炼之四:屏幕操作 C 语言嵌入式系统编程修炼之五:键盘操作 C 语言嵌入式系统编程修炼之六:性能优化 C/
C++
语言 void 及 void 指针深层探索 C/
C++
语言可变参数表深层探索 C/
C++
数组名与指针区别深层探索 C/
C++
程序员应聘常见
面试题
深入剖析(1) C/
C++
程序员应聘常见
面试题
深入剖析(2)
一道
著名外企
面试题
的抽丝剥茧 C/
C++
结构体的一个高级特性――指定成员的位数 C/
C++
中的近指令、远指针和巨指针 从两道经典试题谈 C/
C++
中联合体(union)的使用 基于 ARM 的嵌入式 Linux 移植真实体验 深入浅出 Linux 设备驱动编程
C/
C++
面试题
视频讲解
《C/
C++
面试题
视频讲解》课程是由WangTeacher精心制作一部视频教学实战课程,涵盖了C/
C++
的常见
面试题
,可以帮助开发者顺利通过C/
C++
开发岗位的面试。课程结合了本人15+年的软件开发和设计经验,把最先进的编程技巧...
华为笔试
面试题
集(C/
C++
)
上海华为的
一道
关于指针方面的编程题 int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至 数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路)
C语言深层探索+ARM linux移植
C/C+语言struct深层探索 1
C++
中extern "C"含义深层探索 7 C语言高效编程的几招 12 C语言嵌入式系统编程修炼 23 C语言嵌入式系统编程修炼之一:背景篇 23 C语言嵌入式系统编程修炼之二:软件架构篇 25 C语言嵌入式系统编程修炼之三:内存操作 31 C语言嵌入式系统编程修炼之四:屏幕操作 37 C语言嵌入式系统编程修炼之五:键盘操作 45 C语言嵌入式系统编程修炼之六:性能优化 49 C/
C++
语言void及void指针深层探索 52 C/
C++
语言可变参数表深层探索 56 C/
C++
程序员应聘常见
面试题
深入剖析(2) 70 基于ARM的嵌入式Linux移植真实体验 79 基于ARM的嵌入式Linux移植真实体验(1)――基本概念 79 基于ARM的嵌入式Linux移植真实体验(2)――BootLoader 91
一道
著名外企
面试题
的抽丝剥茧 106 基于ARM的嵌入式Linux移植真实体验(3)――操作系统 110 基于ARM的嵌入式Linux移植真实体验(4)――设备驱动 119 基于ARM的嵌入式Linux移植真实体验(5)――应用实例 136 C/
C++
结构体的一个高级特性――指定成员的位数 145 C/
C++
中的近指令、远指针和巨指针 147 从两道经典试题谈C/
C++
中联合体(union)的使用 149 深入浅出Linux设备驱动编程 151 1.Linux内核模块 151 2.字符设备驱动程序 153 3.设备驱动中的并发控制 158 4.设备的阻塞与非阻塞操作 165
C++ 语言
64,665
社区成员
250,488
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章