C语言在32位和64位系统上各类型所占字节数

引言

        编写C/C++语言程序,必须要知道基本数据类型所占字节数,才能深刻理解数组(array)、结构体(structure)、联合体(union)等所占内存的大小(对于结构体和联合体,还需要理解字节对齐的知识)。 编写在32位和64位机器上运行的程序时,更需要了解各个类型在不同机器上的差异。

 

对比表

数据类型32位机(字节)64位机(字节)备注

char

1

1

 

short

2

2

 

int

4

4

 

long

4

8

32位与64位不同

float

4

4

 

char *

4

8

其他指针类型如long *, int * 也是如此

long long

8

8

 

double

8

8

 

long double

10/12

10/16

有效位10字节。32位为了对齐实际分配12字节;64位分配16字节

 

小结

       通过上表,可以看出,对于32位和64位机器,只有long和指针类型的长度不一样,其它类型所占字节数都是一样的(long double除外,见注释)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值