博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
各变量字节数
阅读量:5952 次
发布时间:2019-06-19

本文共 1254 字,大约阅读时间需要 4 分钟。

Win64, 也就是X64编译配置下:

char                1字节;

short               2字节;

int                   4字节;

long               4字节;

long long       8字节;

float               4字节;

double           8字节;

long double   8字节;

wchar_t         2字节;

bool              1字节;

(指针都是8字节)

char*            8字节;

bool*            8字节;

short*          8字节;

int*              8字节;

long*           8字节;

long long*   8字节;

float*           8字节;

double*       8字节;

long double*   8字节;

wchar_t*      8字节;

 

下面是Win32, 也就是X86编译配置下变量所占字节数

char            1字节;

short           2字节;

int       4字节;

long     4字节;

longlong   8字节;

float     4字节;

double    8字节;

long double      8字节;

wchar_t    2字节;

bool    1字节;

 (指针都是4字节)

char*    4字节;

bool*    4字节;

short*    4字节;

int*                4字节;

long*    4字节;

long long*  4字节;

float*    4字节;

double*   4字节;

long double* 4字节;

wchar_t*   4字节;

其他类型:

enum类型声明不占内存。

       eg. enum Color { Red, Black }; 不占内存。
      enum变量定义占int型内存。Win32下是占4B。
      eg. Color clr; 占sizeof(int)

struct的成员对齐问题:

对于结构体,编译器会自动进行成员对齐以提高运算效率。缺省情况下,编译器会为结构体的每个成员按其自然对界(按结构体中的成员中size最大的成员对齐)条件分配空间,每个成员按照他们被声明的顺序在内存中顺序存储。

联合体(union)的结构体空间要足够大,要等于最长的一个结构体 变量的空间,但是这个最长的空间要满足以下条件:

1.要大于等于最长一个结构变量的空间

2.并且要能够整除其他结构变量的数据长度(长度要是元类型长度的最小公倍数)。

总结:经上述比较,一般变量在X86和X64系统下长度没什么区别,区别在于指针的 寻址范围从32位增加到了64位。如果考虑对64位系统下程序的兼容性,指针是唯一需要注意的地方。从32位系统过渡到64位系统不同于从16位系统过渡 到32位系统,因为DOS系统下int只有2个字节,而Windows系统下int是4个字节,过渡到64位系统后int的字节数没有增加。如果使用 Windows系统编程,支持64位需要Visual Studio 2005/2008均可,而早期版本是不支持64位平台的。

转载于:https://www.cnblogs.com/junglefish/p/5464100.html

你可能感兴趣的文章
[linux] mtu查看&&设置
查看>>
性能测试诊断分析与优化培训资料打包下载
查看>>
Web API应用架构在Winform混合框架中的应用(3)--Winfrom界面调用WebAPI的过程分解...
查看>>
微服务演化
查看>>
ELASTIC SEARCH 性能调优
查看>>
jQuery笔记——jQuery选择器实例应用
查看>>
LRU
查看>>
[转]模拟芯片设计的四重境界
查看>>
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。
查看>>
NSLog 使用
查看>>
【翻译】ASP.NET WEB API异常处理
查看>>
UDP打洞实验
查看>>
Agglomerated SSL 1.2.0 发布
查看>>
前端智勇大闯关-第二季-第三题
查看>>
windows 下使用github
查看>>
ubuntu apache fastcgi 虚拟主机安装
查看>>
apache配置directoryindex
查看>>
Linux Bash命令关于程序调试详解
查看>>
趣文:舌尖上的程序猿
查看>>
[LeetCode] 3Sum
查看>>