C语言数据类型

C语言数据类型

为什么要对数据进行分类?

  1. 现实中的数据就是自带类别属性的
  2. 对数据进行分类可以节约内存存储空间、提高运行速度

存储空间的单位:

单位大小
Bit(比特)存储一个二进制位,只能存储0或者1,计算机存储数据的最小单位
Byte(字节)存储八个二进制位,计算机存储数据的基本单位
Kb1024字节
Mb1024Kb
Gb1024Mb
Tb1024Gb
Pb1024Tb

C语言中数据分为两大类别:自建(程序员自己设计的)、内建(C语言自带的)

sizeof:可以计算类型/变量所占内存字节数

  • 整型
类型名字节数数据范围
signed char1-128~127
signed short2-32768~32767
signed int4正负20亿
signed long4(32位)/8(64位)\
signed long long8正负9开头19位整数
unsigned char10~255
unsigned short20~65535
unsigned int40~40亿
unsigned long4(32位)/8(64位)\
unsigned long long80~1开头的20位整数

signed为有符号,不加就代表加了,二进制最高位为符号位 0整数 1负数。

unsigned为无符号,二进制最高位作为数据位

注意:由于定义无符号数据时比较麻烦,标准库中把这些类型重新定义成了新的类型名

​ 需要包含头文件<stdint.h>

​ uint8_t uint16_t uint32_t uint64_t

​ int8_t int16_t int32_t int64_t

  • 浮点型
类型名字节数精度
float4单精度浮点型
double8双精度浮点型
long double12(32位)/16(64位)\

注意:采用科学计数法、在二进制与真实数据之间需要进行换算过程,因此浮点数的运算使用速度比整型要慢得多,所以编程时尽量使用整型

注意:大部分操作系统只对小数点后6位有效

  • 模拟型
    1. 字符型:char
      字符就是图案或符号,字符在内存中依然存储成整数,需要显示成字符时,操作系统会根据ASCII码表中的对应关系把整数显示成对应的符号或图案

      显示类型占位符
      整数%hhd
      字符%c
    2. 布尔型:bool
      先有的C语言后有的bool类型,C语言中不可能有真正的布尔类型,都是在<stdbool.h>中对布尔类型使用整数进行模拟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值