c++内存占用问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 00:00:32
int a = 17;
占用四个字节,是a这个名字占用的还是17这个数字占用的?

a这个名字在名字列表里
a这个变量在内存中的占4个字节
17存在里面
00000000 00000000 00000000 00010001

是17

a是用来标识17这个数的,内存空间是17占用的。

是a占用的

比方说
int a;
则在内存中还是有占用,只不过没有赋值,内存中这段还是不能被其他使用,不管你给a是17还是170,都是在a这个位置占用内存

据个例子

你int a;相当于在街边租了房子(占用了内存),无论你这个房子是空着,还是用来当餐馆(赋值17),当小卖部(赋值170),当歌厅(赋值7),都是在这个房子。形式不同(赋值不同),地点相同(在内存中占用一个叫做a的地段)。

a相当是一个别名,指明a是只向哪个的,就像人的姓名一样,17才是占用这个内存的。

是17 ,但其并未把四个字节占完,17的二进制代码左端填零,共32位;a只是变量名,其标识内存空间,a=17就是将17赋到这个内存空间中。