赞
踩
结论: 取决于是64位编译模式还是32位编译模式(注意,和机器位数没有直接关系)
实验:(实验环境 vs2019)
64位编译模式下,sizeof返回的是unsigned long long类型,占8字节
32位编译模式下,sizeof返回的是unsgined int类型,占4字节
分析:
细心的同学可能会发现,为何 int* 和 stu* 类型的指针的大小一样呢?
额外讨论1:
那么,CPU寻址能力到底和什么有关呢?
答案是和地址总线的数量有关。
值得注意的是,支持多大的寻址空间和CPU的位数没有直接关系,CPU的位数是指寄存器的位数,也可以说是数据总线的数量,衡量的是单次处理数据的能力。一般来说,地址总线会随着数据总线增多,也随之增多,用以支持更大的寻址空间。
额外讨论2:
short, int, long, long long在32位编译模式下和64编译模式下,占多少字节?
结论: 一样的!
short | int | long | long long | __int64 | |
---|---|---|---|---|---|
32位 | 2 | 4 | 4 | 8 | 8 |
64位 | 2 | 4 | 4 | 8 | 8 |
实验:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。