您的位置:首页 > 编程语言 > C语言/C++

C++ 数据类型占字节数

2019-08-16 10:46 1561 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/zb_915574747/article/details/99672422

16位:(byte)                                       32位:                                                     64位:

char:1                                                 char:1                                                      char:1 

char*(指针):2                                   char*(指针):4                                        char*(指针):8 (变化)

short int:2                                           short int:2                                                short int:2 

int:2                                                    int:4(变化)                                               int:4

unsigned int:2                                    unsigned int:4(变化)                               unsigned int:4

float:4                                                 float:4                                                     float:4

double:4                                             double:8(变化)                                       double:8     

long:4                                                 long:4                                                     long:8(变化)

long long:8                                         long long:8                                             long long:8   

unsigned long:4                                 unsigned long:4                                     unsigned long:8(变化)

枚举变量占字节数:元素最大值所占的内存大小决定,不像结构体按各个元素所占字节叠加(对齐原则)

字符串求sizeof时有"\0",求strlen时无“\0”。数组作为函数参数传递的时候,退化为指针

类中什么都没有,类占1个字节,有其他的占用空间成员,则这1个字节就不在计算之内

如果只有成员函数,只占用1个字节,因为类函数不占用空间

虚函数因为存在虚函数表,需要4个字节,数据成员对象如果为指针则为4字节,注意有字节对齐,按照类内最长类型占用字节

 __int64 a; [-2^63, 2^63)

scanf("%I64d",&a);

printf("%I64d",a);

__int64与long long 兼容的编译器不同

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: