突然想到的一个细节问题
c语言吧
全部回复
仅看楼主
level 7
home友谊第一
楼主
struct a{
int b;
};
和int b;
两者在空间和调用效率上都相同还是有所不同呢?
2022年04月01日 17点04分
1
level 12
遂逸
差别不大。
2022年04月01日 23点04分
2
home友谊第一
谢谢
2022年04月02日 04点04分
level 11
才不是惠痴ₔ
你用结构体你以为程序会理解成结构体吗,不会
2022年04月02日 00点04分
3
home友谊第一
谢谢啦。
我在网上看线段树的代码看他们开的结构体里面只放了一个sum。。所以好奇会不会有差别 没区别的话那太好了
2022年04月02日 04点04分
level 1
剑凌天
不要想当然,没有这种保证,虽然大部分情况你都可以这么考虑,但是不能依赖这个行为去编程,至少用sizeof看一下
2022年04月02日 09点04分
4
home友谊第一
这种应该算是那种不是特别危险的ub吧?
2022年04月02日 10点04分
剑凌天
@home友谊第一
这种应该不算吧,编译器就算有特殊处理也是倾向于往末尾加空白来使内存对齐。我一下能想到的受影响用法也只有,把这种结构体数组头指针强转成内部元素指针去增减,这种用法属实有点毛病了。
2022年04月02日 10点04分
level 4
jiang军
并不会,编译后寻址都是看地址迁移
感兴趣就两个都声明修改,看一眼汇编区别就行了
2022年04月02日 10点04分
5
1