C语言中如何将不同类型的数据存储进行有效归类?

2026-04-12 09:212阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计722个文字,预计阅读时间需要3分钟。

C语言中如何将不同类型的数据存储进行有效归类?

目录+数据类型的介绍+类型的基本归类+整型在内存中的存储+什么是大小端+浮点数在内存中的存储+浮点数在内存中的存储规则+数据类型的介绍+在前面的章节中,我们基本认识到了各种数据类型

目录
  • 数据类型的介绍
  • 类型的基本归类
  • 整型在内存中的存储
  • 什么是大小端
  • 浮点数在内存中的存储
  • 浮点数在内存中的存储规则

数据类型的介绍

在前面的章节中我们基本认识到了各种数据类型,这里我们就稍微回忆以下吧

类型的意义:

  • 决定了访问内存空间的大小
  • 决定了看待内存空间的视角(例如:整型和字符数据类型)

类型的基本归类

整型家族:

char
unsigned char
signed char
short
unsigned short [int]
signed short [int]
int
unsigned int
signed int
long
unsigned long [int]
signed long [int]

浮点型家族:

float
double

构造类型:

> 数组类型
> 结构体类型 struct
> 枚举类型 enum
> 联合类型 union

指针类型:

int *pi; char *pc; float *pf; void *pv;(泛型指针)

空类型:

void 表示空类型 (无类型)

C语言中如何将不同类型的数据存储进行有效归类?

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

//作为函数的返回类型 void f1()//不接受任何返回值 { ; } //作为函数的参数 int f2(void)//参数为void时,传入参数会报错 { ; } //作为指针类型 void* f3(void* pv)//参数为 void* 时,可接收任意类型的参数 { ; }

整型在内存中的存储

计算机中的整数有三种2进制表示方法,即源码、反码、补码。

三种表示方法均有符号位和数值位

符号位: " 0 " 表示 正," 1 "表示 负

数值位:

正数:

原码、反码、补码相同

负数:

原码:直接将数值按二进制翻译

反码:原码符号位不变,其它位按位取反

补码:反码+1

我们可以在内存中的存储看到:

这里大家可能有个疑问,为什么ji在内存中会是这样?为什么ij内部二进制会倒过来存储呢??编译器坏了

本文共计722个文字,预计阅读时间需要3分钟。

C语言中如何将不同类型的数据存储进行有效归类?

目录+数据类型的介绍+类型的基本归类+整型在内存中的存储+什么是大小端+浮点数在内存中的存储+浮点数在内存中的存储规则+数据类型的介绍+在前面的章节中,我们基本认识到了各种数据类型

目录
  • 数据类型的介绍
  • 类型的基本归类
  • 整型在内存中的存储
  • 什么是大小端
  • 浮点数在内存中的存储
  • 浮点数在内存中的存储规则

数据类型的介绍

在前面的章节中我们基本认识到了各种数据类型,这里我们就稍微回忆以下吧

类型的意义:

  • 决定了访问内存空间的大小
  • 决定了看待内存空间的视角(例如:整型和字符数据类型)

类型的基本归类

整型家族:

char
unsigned char
signed char
short
unsigned short [int]
signed short [int]
int
unsigned int
signed int
long
unsigned long [int]
signed long [int]

浮点型家族:

float
double

构造类型:

> 数组类型
> 结构体类型 struct
> 枚举类型 enum
> 联合类型 union

指针类型:

int *pi; char *pc; float *pf; void *pv;(泛型指针)

空类型:

void 表示空类型 (无类型)

C语言中如何将不同类型的数据存储进行有效归类?

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

//作为函数的返回类型 void f1()//不接受任何返回值 { ; } //作为函数的参数 int f2(void)//参数为void时,传入参数会报错 { ; } //作为指针类型 void* f3(void* pv)//参数为 void* 时,可接收任意类型的参数 { ; }

整型在内存中的存储

计算机中的整数有三种2进制表示方法,即源码、反码、补码。

三种表示方法均有符号位和数值位

符号位: " 0 " 表示 正," 1 "表示 负

数值位:

正数:

原码、反码、补码相同

负数:

原码:直接将数值按二进制翻译

反码:原码符号位不变,其它位按位取反

补码:反码+1

我们可以在内存中的存储看到:

这里大家可能有个疑问,为什么ji在内存中会是这样?为什么ij内部二进制会倒过来存储呢??编译器坏了