您的位置:首页 > 职场人生

关于警察黑程序员的思考

2014-05-25 18:07 260 查看
    最近在看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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编译器 32位 64位 c