定义
数据类型其实就是固定大小内存的别名,并且描述了一个变量存放什么类型的数据。简单来说,就是组织和操作数据。
数据:计算机要处理的数据(数字、字符串、文字、符号、图片、音视频等)
-
数据类型不仅帮助我们组织和操作数据,还决定了程序如何有效的利用内存。
-
了解数据类型的内存需求是理解计算机管理和操作数据的关键。
小贴士:程序运行需要在内存中
数据类型分类和计算方法
数据类型分类
-
基本类型(C语言内置)
-
数值类型
-
整型(整数)
-
短整型:short(short int 缩写)
-
基本型:int(使用频率最高)
-
长整型:long(long int 缩写)
-
长长整型:long long(long long int 缩写,C99新增)
-
-
浮点型(小数、实数、实型)
-
单精度型:float
-
双精度型:double
-
长双精度型:long double(C99新增)
-
-
-
字符型:char
-
-
构造类型(C语言提供语法,用户自定义)
-
结构体:struct
-
联合体/共用体:union
-
枚举类型:enum
-
-
指针类型
-
空类型:void(C语言内置)
数据类型在内存中的大小
序号 | 数据类型 | 中文说明 | 大小(字节) |
---|---|---|---|
1 | short(short int) | 短整型 | 2 |
2 | int | 基本整型 | 4 |
3 | long(long int) | 长整型 | 4(32位系统)/ 8(64位系统) |
4 | long long(long long int) | 长长整型 | 8 |
5 | float | 单精度浮点型 | 4 |
6 | double | 双精度浮点型 | 8 |
7 | char | 字符型 | 1 |
8 | bool(_Bool,C99新增) | 布尔型,true-真,false-假 | bool:1,true(1):4,false(0):4 |
小贴士:获取某个数据类型或者变量所占的字节数,使用sizeof运算符:
sizeof(某个数据类型或者变量名)
#include <stdio.h> int main(int argc,char *argv[]) { // 计算数据类型或者变量的字节大小,通过sizeof运算符 printf("long long 的大小是%d个字节\n", sizeof(long long)); // %d 表示10进制整数 printf("long 的大小是%d个字节\n",sizeof(long)); printf("long double的大小是%d个字节\n",sizeof(long double)); return 0; }
案例:
#include <stdio.h>
int main(int argc,char *argv[])
{
// 计算数据类型或者变量的字节大小,通过sizeof运算符
printf("long long 的大小是%d个字节\n", sizeof(long long)); // %d 表示10进制整数
printf("long 的大小是%d个字节\n",sizeof(long));
printf("long double的大小是%d个字节\n",sizeof(long double));
return 0;
}
总结:
① 数据类型在内存中所占的字节数跟C语言的编译系统有关。 ② 计算某个数据类型所占字节数可以用sizeof运算符。 ③ 布尔类型要添加#include <stdbool.h>
,大家也可以直接使用int类型的0和1来表示布尔类型。