黑马程序员技术交流社区

标题: 结构体的问题 [打印本页]

作者: welfarezhang    时间: 2015-5-17 08:44
标题: 结构体的问题

结构体有一个补齐算法,因为成员有个指针变量,所占的字节应该是8的倍数,即16才对,可自己打印出来的怎么是8?

作者: 李双良    时间: 2015-5-17 09:04
  我不会 但是我抢个沙发!
作者: welfarezhang    时间: 2015-5-17 12:45
李双良 发表于 2015-5-17 09:04
我不会 但是我抢个沙发!

额。。。。
作者: welfarezhang    时间: 2015-5-17 12:46
求帮助啊
作者: XiaoBaoMi    时间: 2015-5-17 13:06
你看看char *是不是8  32位的好像是4吧  
作者: cui0wei0    时间: 2015-5-17 17:22
longlong可不是8个字节长度, favor也不是, 但结果是24.
看出问题了么?

屏幕快照 2015-05-17 17.14.59.png (79.17 KB, 下载次数: 18)

屏幕快照 2015-05-17 17.14.59.png

屏幕快照 2015-05-17 17.20.13.png (100.16 KB, 下载次数: 14)

屏幕快照 2015-05-17 17.20.13.png

作者: doushu    时间: 2015-5-17 21:50
指针变量在32编译环境下为4个字节,在64位中为8个字节,我刚才在我的电脑中运行了一下,结果为16,你查一下你电脑的编译环境
作者: 梦初醉    时间: 2015-5-18 00:57
求大神,详细说明解决!
作者: wangguanyang    时间: 2015-5-18 07:17
64位编译环境一个指针所占字节为8
作者: welfarezhang    时间: 2015-5-18 08:39
doushu 发表于 2015-5-17 21:50
指针变量在32编译环境下为4个字节,在64位中为8个字节,我刚才在我的电脑中运行了一下,结果为16,你查一下 ...

应该是这个问题,感谢你的解答
作者: welfarezhang    时间: 2015-5-18 08:41
wangguanyang 发表于 2015-5-18 07:17
64位编译环境一个指针所占字节为8

恩恩,应该是这个问题
作者: 王二小。    时间: 2015-5-18 10:22
学习了~~  
作者: mingjixiaohui    时间: 2015-5-18 16:48
字节数是跟使用的编译器环境有关的,
单使用char是一个字节,
16为下char *占两个字节,  int 4
32位下的char * 占4个字节,int 4
64位下的应该占8个字节,  int 8




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2