关于警察黑程序员的思考

    最近在看The C Programming language (以下简称The C)这本书,其中关于字节的定义让我想起了一则笑话。

深夜里,警察见一路人急匆而过。
警察大喊:站住,int类型占几个字节?
路人:4个字节。
路人:为什么问这样的问题?
警察:这个点出来的只有两种人,小偷和程序员。

这是娱乐化的黑段子,大笑过后不得感叹警察的睿智,这是全民编码的时代,连警察蜀黍都知道各个类型变量所占的字节。要是答不上岂不被请去喝茶惊恐,但是事实真的这么简单吗?

The C 中这样讲:Each complier is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least  32bits, and short is no longer than int, which is no longer than long. 意思是编译器可以根据自身硬件来选择合适大小,唯一的约束条件:short 和 int 型至少16位,long型至少32位,short 型不能长于int 型,int 型不能长于long型。换句话说,不同平台上对不同数据类型分配的字节数是不同的,具体的分配主要由编译器决定。常用数据类型对应字节数

C类型
32位编译器
64位编译器
char
1
1
char*(指针变量)
4
8
short  int
2
2
int
4
4
unsigned  int
4
4
float
4
4
double
8
8
long
4
8
long long
8
8
unsigned long
4
8



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值