C语言学习 -- 整型与浮点型在内存中的存储

本文详细介绍了C语言中的数据类型,包括内置的整型(如char、short、int、long、long long)和浮点型(如float、double),以及自定义类型如结构体、枚举和联合。重点讨论了整型和浮点型在内存中的存储方式,包括原码、反码、补码的概念,以及大小端存储模式。此外,还提到了指针类型和空类型void在编程中的应用。通过对各种数据类型的深入理解,有助于更好地掌握C语言编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型介绍

C语言类型分为两类:

  1. 内置类型:C语言本身就有的类型。
  2. 自定义类型(构造类型)。

内置数据类型

内置数据类型又可以划分为整型和浮点型,char类型底层存储的ASCII码值,因此也被归类在整型中。

关键字 类型 内存空间
char 字符数据类型 1B
short 短整型 2B
int 整形 4B
long 长整型 4B
long long 更长的整形 8B
float 单精度浮点数 4B
double 双精度浮点数 8B

C99之后,C语言的内置数据类型新增了布尔型、复数型、虚数型,这里不做讨论。

整形

整型的取值范围定义在头文件**limits.h**中。

Datatype Size Unsigned Signed
char 1Byte 0~28-1 -27~-27-1
short[int] 2Byte 0~216-1 -215~215-1
int 4Byte 0~232-1 -231~231-1
long[int] 4Byte 0~232-1 -231~231-1
long long[int] 8Byte 0~264-1 -263~263-1

注意点:

  • char默认类型取决于编译器大多数编译器下char默认都是signed
  • 其他整形类型默认都是**signed**。

浮点型

浮点型的取值范围定义在头文件**float.h**中

Datatype Size 指数位 尾数位 取值范围 有效数字
float 4Byte 8 23 -21282128 ≈ -3.4E38 ~ +3.4E38 7 或 8位
double 8Byte 11 52 -2102421024 ≈ -1.797E308 ~ +1.797E308 15 或 16位

自定义类型(构造类型)

  1. 数组类型:去掉数组名剩下的就是数组的类型,如: int [10] ,可以用sizeof(int [10]) 计算数组大小;

在这里插入图片描述

  1. 结构体类型 :struct
  2. 枚举类型::enum
  3. 联合类型:union

指针类型

指针类型的占用空间在相同平台下大小相同,作用是存放地址。

例如:int *pi char *pc float *pf

空类型

void表示空类型(无类型)

通常应用于函数的返回类型、函数的参数、指针类型。

void test(void)  // 无返回值, 无参数
{
   
    // ... 
}
void* test() // 返回void* 类型指针,无参数()中不写默认void
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值