【c】数据的存储

本文介绍了C语言中的数据存储,包括数据类型、整型在内存中的存储(原码、反码、补码及大小端概念)、整型提升的原理和浮点型在内存中的存储规则。通过学习,有助于理解C语言中不同类型数据的存储方式。
摘要由CSDN通过智能技术生成

哈喽大家好,大家好,欢迎收看本期博客 ! 

我是Mr.tan

今儿个,给大家分享c语言中的数据存储的相关内容,希望对大家学习c语言能有所帮助。


目录

一、数据类型介绍

1.1、语言内置类型的种类:

1.2、数据类型的分类:

二、整型在内存中如何存储

2.1、原码、反码、补码:

2.2、大小端介绍:

    2.2.1、什么是大小端

2.2.2、为什么有大端和小端

2.2.3、编写代码来判断当前机器的字节序

三、整型提升

3.1、什么是整型提升

3.2、整型提升的意义

3.3、如何整型提升

3.4、signed char和unsigned char的取值范围如何定

 3.5、练习题

四、浮点型在内存中的存储

4.1、引入

4.2、浮点数存储规则

4.3、对于4.1的剖析


一、数据类型介绍

1.1、语言内置类型的种类:

数据类型: 描述:
占存储空间的大小:
char 字符型 1字节
short 短整型 2字节
int 整型 4字节
long 长整型 4字节
long long 更长的整型 8字节
float 单精度浮点型 4字节
double 双精度浮点型 8字节

类型的意义

1、使用这个类型开辟内存空间的大小(要选择适当的类型,防止超出使用范围)。

2、如何看待内存空间的视角(当看到int类型,就知道内存中存储的是整数;当看到double类型,就不难知道内存中存储的是小数)。

1.2、数据类型的分类:

(1)、整型   

 注意:

1、在以上表格当中,对于长整型与短整型,它们后边的 int 被省略掉了,在平时书写的时候也可以不加;

2、把 char 归在整型这一类里,是因为字符型的本质就是ASCII码值,每个字符都有对应的ASCII码值,字符在存储的时候存的就是这个ASCII码值,而它又是整数,所以就归结在整型这一类之中了;

3、对于数值,它都是有正数和负数之分的,而在c语言中,为了把某些值描述的更准确,在对不需要表示正负之分的用 unsigned 来描述,例如:身高;而那些要区分正负的要用 signed 来描述(对于整型、短整型和长整型来说,通常情况下省略不写),例如:温度;

4、c语言中并没有规定 char 到底是哪种类型,这取决于编译器的实现;

(2)、浮点型   

数据类型: 描述:
float 单精度浮点型
double 双精度浮点型

(3)、构造类型   

  也称为自定义类型

数据类型: 描述:
数组类型 ——
struct 结构体类型
enum 枚举类型
union 联合类型

注意:

1、对于语句一和语句二来说,虽然元素类型相同,但是数组中的元素个数却不相同;而对于语句二和语句三来说,虽然元素个数相同,但是元素类型却不相同;所以不管是数组的元素个数发生变化还是数组的类型发生变化,构造出的数组都是不相同的。

char arr[5]; 语句一
char arr[7]; 语句二
int arr[7]; 语句三

2、其他三种类型,在此我们知道就行,详细内容以后会具体的更新哦,请耐心等待吧!

(4)、指针类型   

int*  pi

char*  pj

float*  ps

double*  pl

(5)、空类型   

    void 表示空类型(无类型),通常应用于 函数的返回类型 函数的参数 指针类型
//用于函数的返回类型
void text()
{}

//用于函数的参数
void text2(void)
{}

int main()
{
//用于指针
	void* p = NULL;
	int a = 10;
	void* pl = &a;
}

二、整型在内存中如何存储

变量的创建是要在内存中开辟空间的,空间的大小是根据不同的类型而决定的。

2.1、原码、反码、补码:

    这三种表示方法都有符号位数值位两部分,符号位为“0”表示正,符号位为“1”表示负;整数的原码、反码、补码都是一样的;负数的三种编
  • 32
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值