整型数据类型
1. 整型数据类型
在上一节当中,我们遇到了整型(integer)int,用来表示一个整数的数据类型。
下面呢我们来讨论一下C语言里面的整数数据类型。
类型名称 | C语言中的关键词 | 注释 |
---|---|---|
字符型 | char | 用于表示一个很小的整数 |
短整型 | short | 用于表示一个不怎么大的整数 |
整型 | int | 生活中一般的整数都可以表示 |
长整型 | long | 较大的整数 |
加长整型 | long long | 非常大的整数 |
看到这里你可能想问,一个整数而已,为什么会需要定义这么多的类型出来呢?
要知道在发明C语言的年代,计算机资源是非常珍贵的。对内存资源,就是恨不得把一块钱掰成两半用的那种感觉。能用小一点的来内存来存储,就不用大的。当然,现在大部分的强类型语言,都延续了这个传统。即使现在内存资源以及丰富了,程序员可以在编写代码时,可以预想到可能的数据大小。为什么不让程序员自行决定,用什么类型呢?
接下来,你可能想知道这些类型中,具体的大小限制是多少。很遗憾,我不能100%准确的告诉大家。因为C语言标准并未规定这些数据类型的大小范围,具体的实现交由了编译器和平台决定。那我们怎样知道在visual studio 2019中,各种整型变量的大小呢?我们需要sizeof关键词来帮我们测量。
2. 关键词及sizeof关键词
和int一样,sizeof是C语言中的一个关键词。
关键词是被编译器识别的,具有特殊意义的单词。在C语言标准中,关键词如下表所示。它们在C语言当中,都有具体的语法意义。例如int,代表一个整型数据类型,return代表函数结束并带回返回值。
auto | _Bool* | break | case |
char | _Complex* | const | continue |
default | restrict* | do | double |
else | enum | extern | float |
for | goto | if | _Imaginary* |
inline* | int | long | register |
return | short | signed | sizeof |
static | struct | switch |