数据类型的作用
1.决定变量之中内存储什么类型的数据
2.决定一个变量的空间大小(如int类型,就是四个字节)
数据类型的种类
以下是变量,变量的内容是可以更改的
整数
| 数据类型 | 占用大小 |
|---|---|
| short | 2 |
| int(默认类型) | 4 |
| long | 在32位内是4 在64位内是8 |
| long long(在C99才有) | 8 |
不同数据类型取值范围由编译器决定,可以用sizeof来确定,但都遵循short<=int<=long<=long long
变量数据类型定义和关键字sizeof运用演示:
1 | #include <stdio.h> |
对出现的%zu的解释:
%zu 是专门用来打印 sizeof 结果和 size_t 变量的占位符
拆解,z代表的是 size_t 类型,u代表的是无符号的十进制整数
简单理解,%zu就是专门用在输出sizeof数据的格式化占位符
变量定义的完整形式
变量类型后加int
对于有些人,会习惯在定义short、long和long long类型的变量时会在其后加个int
这是完整的定义数据类型的格式,但不加int在C语言中也是允许的,但是int类型就不能再加int代码示例如下
1 | short a = 10; |
有符号与无符号整数
关键字signed定义有符号整数,指正负数(默认情况)
关键字unsigned定义无符号整数,仅指整数
代码示例如下:
1 | signed int a = -10; |
浮点型/小数
| 数据类型 | 占用大小 |
|---|---|
| float | 4 |
| double(默认) | 8 |
| long double(不常用) | 16 |
注意 小数不能和unsigned组合使用
代码演示:
1 | //需要在数据后加"F" |
占位符%.2Lf前面的.2是指精确到小数点后两位
字符
|数据类型|取值范围|占用大小|
|--------|-------|
|char|ASCII表内所有内容,即英文字母,英文标点符号和数字|1|
常量
常量的内容是不可更改的
如
1 | int 2000; |