问题描述
- C语言内存管理,BBS段内存分配
-
#include<stdio.h> int a; int b; int c=1; int d=1; void main(){ printf("%dn",sizeof(int)); printf("%p,%p,%p,%pn",&a,&b,&c,&d); }
运行结果:
4
00404090,004040A0,00402000,00402004想要问的是:程序是不是给变量a,b分配了16个字节的空间,如果是,为什么分配16个字节,我知道的是,变量a,b是未初始化的全局变量,保存在BSS段
解决方案
没有分配16个字节,bss段分配也不一定是连续的分配的啊
解决方案二:
分配的是32个字节吧,不是16个
解决方案三:
间隔要考虑对齐。然后编译器实现
时间: 2024-12-20 19:24:55