在面试的时候被问到这个问题,因此就钻了牛角尖一下,在这把查到的结果记一下。面试
一、首先,查了一下网上的资料。.net
虽然有不少中答案,可是都说不许究竟是多少字节。 文档
2. 《C程序设计语言》第2.2节 数据类型及其长度get
C语言中只提供了下列几种基本类型数据:编译器
char 字符型,占用一个字节,能够存放本地字符集中的一个字符。it
int 整型,一般反映了所用机器中整数的最天然的长度。io
float 单精度浮点型编译
double 双精度浮点型
此外,还能够在这些基本的数据类型前面加上一些限定符。short和long两个限定符用与限定整型:
short int sh;
long int counter;
在上述这种类型的声明中,关键字int能够省略。一般不少人也习惯这么作。
short与long两个限定符的引入能够为咱们提供知足实际须要的不一样长度的整型数。int一般表明特定机器中整数的天然长度。short类型一般为16位,long类型一般为32位,int类型能够为16位或32位。各编译器能够更具硬件特性自主选择合适的类型长度,但要遵循下列循环限制:short与int类型至少为16位,而long类型至少为32位,而且short类型不得长与int类型,而int类型不得长于long类型。
3. 《C++程序设计语言》附录C.2标准
标准中把许多重要事项宣布为由实现定义。这也意味着每一个实现必须有为该种结构提供一个特定的,定义良好的行为方式,并必须将它写入文档。例如,
unsigned char c