zhangjinxuan 发表于 2022-12-5 19:04:32

结构体问题

xiaotubie 发表于 2022-12-5 19:42:14

这种不符合规范的写法,什么情况都有可能,没有参考意义,每个编译器的处理方式都不同,有的编译器可能直接报错了

柿子饼同学 发表于 2022-12-5 20:10:37

这个是不合法的 , 不同机器结果不一样
这种东西是没有意义的

Hello110 发表于 2022-12-5 20:48:45

先说一下为什么大小是1: 因为你定义了一个变量,这个变量没有成员,但是编译器要给它分配一个地址,那就给它一个占位符大小吧,方便别人找到它(不能比1再小了吧)
再说它的值是什么,这段代码msvc编译不通过(我是windows),哈哈[你可以反编译一下,取一下变量的地址,查看一下里面存放的什么]
还有吧,win32api定义了类似下面的结构体
struct Info {
    int x;
    char y;
} a;(具体是哪个忘了!!!)

Hello110 发表于 2022-12-5 20:52:02

你问的这个问题,可能这本书 C++反汇编与逆向分析技术揭秘 有更具体的说明(如果没记错的话)

萌豆 发表于 2022-12-5 20:55:02

Hello110 发表于 2022-12-5 20:52
你问的这个问题,可能这本书 C++反汇编与逆向分析技术揭秘 有更具体的说明(如果没记错的话)

有知道为什么我不能提问吗,刚注册的

Hello110 发表于 2022-12-5 20:56:29

萌豆 发表于 2022-12-5 20:55
有知道为什么我不能提问吗,刚注册的

这个我也不清楚啊,你有什么问题就问吧,大家一起帮忙解决

萌豆 发表于 2022-12-5 21:04:59

c语言问题

Hello110 发表于 2022-12-5 20:56
这个我也不清楚啊,你有什么问题就问吧,大家一起帮忙解决

显示
抱歉,您没有权限发表 URL 连接

萌豆 发表于 2022-12-5 21:07:29

萌豆 发表于 2022-12-5 21:04
显示
抱歉,您没有权限发表 URL 连接

在这回复里提问,我发了图片链接,出现这个提示
抱歉,您没有权限发表 URL 连接

Hello110 发表于 2022-12-5 21:08:19

萌豆 发表于 2022-12-5 21:04
显示
抱歉,您没有权限发表 URL 连接

这个不清楚

zhangjinxuan 发表于 2022-12-6 08:04:52

Hello110 发表于 2022-12-5 20:48
先说一下为什么大小是1: 因为你定义了一个变量,这个变量没有成员,但是编译器要给它分配一个地址,那就给它一 ...

就是说这个是占位符?是有空间的?

zhangjinxuan 发表于 2022-12-6 08:05:33

xiaotubie 发表于 2022-12-5 19:42
这种不符合规范的写法,什么情况都有可能,没有参考意义,每个编译器的处理方式都不同,有的编译器可能直接 ...

好的,感谢

zhangjinxuan 发表于 2022-12-6 08:09:09

Hello110 发表于 2022-12-5 21:08
这个不清楚

不清楚?算了,我试了试数组,Info 数组开了 2000000000 都没有爆空间,那么这个应该是没有空间的,但是系统还是sizeof给出了一个非零值,所以我觉得 Info 实际上就是 0 字节,编译器还是给出来了 1

Hello110 发表于 2022-12-6 19:39:57

zhangjinxuan 发表于 2022-12-6 08:09
不清楚?算了,我试了试数组,Info 数组开了 2000000000 都没有爆空间,那么这个应该是没有空间的,但是 ...

取一下第一个元素的地址和最后元素的地址不就知道答案了么

zhangjinxuan 发表于 2022-12-6 20:17:30

Hello110 发表于 2022-12-6 19:39
取一下第一个元素的地址和最后元素的地址不就知道答案了么

有道理{:10_301:}
页: [1]
查看完整版本: 结构体问题