标题:关于struct 以及GDB
取消只看楼主
seven_qi
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-4-3
结帖率:0
已结贴  问题点数:20 回复次数:2 
关于struct 以及GDB
程序代码:
struct   MyBitType
{
          char a:3;
          unsigned   int   b:3;
          unsigned   int   c:3;
          int   d;
};  
这段代码 sizeof(MyBitType) 是8 为什么,内存对其的话怎么会是8呢?  char a:3 这个3 是什么意思? 

另外,如果我想用gdb 来查看struct 里面元素的内存分布情况? 有什么样的指令?
谢谢
搜索更多相关主题的帖子: struct GDB 
2010-04-03 12:31
seven_qi
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-4-3
得分:0 
回复 2楼 Devil_W
谢谢你/
这些都开了。
然后不知道怎么调试。
2010-04-03 12:42
seven_qi
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-4-3
得分:0 
(gdb) print &s1
$2 = (struct MyBitType *) 0x7fffffffe1a0
(gdb) print &s1.d
$3 = (int *) 0x7fffffffe1a4
(gdb) print &s1.a
$4 = 0x7fffffffe1a0 "\220\342\377\377\377\177"
(gdb) print &s1.b
$5 = (unsigned int *) 0x7fffffffe1a0
(gdb) print &s1.c
$6 = (unsigned int *) 0x7fffffffe1a0
(gdb) print &s1.d
$7 = (int *) 0x7fffffffe1a4

为何a,b,c的初始地址是一样的?
2010-04-03 13:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-301521-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179573 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved