结构体问题
这种不符合规范的写法,什么情况都有可能,没有参考意义,每个编译器的处理方式都不同,有的编译器可能直接报错了 这个是不合法的 , 不同机器结果不一样这种东西是没有意义的 先说一下为什么大小是1: 因为你定义了一个变量,这个变量没有成员,但是编译器要给它分配一个地址,那就给它一个占位符大小吧,方便别人找到它(不能比1再小了吧)
再说它的值是什么,这段代码msvc编译不通过(我是windows),哈哈[你可以反编译一下,取一下变量的地址,查看一下里面存放的什么]
还有吧,win32api定义了类似下面的结构体
struct Info {
int x;
char y;
} a;(具体是哪个忘了!!!) 你问的这个问题,可能这本书 C++反汇编与逆向分析技术揭秘 有更具体的说明(如果没记错的话) Hello110 发表于 2022-12-5 20:52
你问的这个问题,可能这本书 C++反汇编与逆向分析技术揭秘 有更具体的说明(如果没记错的话)
有知道为什么我不能提问吗,刚注册的 萌豆 发表于 2022-12-5 20:55
有知道为什么我不能提问吗,刚注册的
这个我也不清楚啊,你有什么问题就问吧,大家一起帮忙解决
c语言问题
Hello110 发表于 2022-12-5 20:56这个我也不清楚啊,你有什么问题就问吧,大家一起帮忙解决
显示
抱歉,您没有权限发表 URL 连接 萌豆 发表于 2022-12-5 21:04
显示
抱歉,您没有权限发表 URL 连接
在这回复里提问,我发了图片链接,出现这个提示
抱歉,您没有权限发表 URL 连接 萌豆 发表于 2022-12-5 21:04
显示
抱歉,您没有权限发表 URL 连接
这个不清楚 Hello110 发表于 2022-12-5 20:48
先说一下为什么大小是1: 因为你定义了一个变量,这个变量没有成员,但是编译器要给它分配一个地址,那就给它一 ...
就是说这个是占位符?是有空间的? xiaotubie 发表于 2022-12-5 19:42
这种不符合规范的写法,什么情况都有可能,没有参考意义,每个编译器的处理方式都不同,有的编译器可能直接 ...
好的,感谢 Hello110 发表于 2022-12-5 21:08
这个不清楚
不清楚?算了,我试了试数组,Info 数组开了 2000000000 都没有爆空间,那么这个应该是没有空间的,但是系统还是sizeof给出了一个非零值,所以我觉得 Info 实际上就是 0 字节,编译器还是给出来了 1 zhangjinxuan 发表于 2022-12-6 08:09
不清楚?算了,我试了试数组,Info 数组开了 2000000000 都没有爆空间,那么这个应该是没有空间的,但是 ...
取一下第一个元素的地址和最后元素的地址不就知道答案了么 Hello110 发表于 2022-12-6 19:39
取一下第一个元素的地址和最后元素的地址不就知道答案了么
有道理{:10_301:}
页:
[1]