C语言之数据在内存中的存储(1)

本章重点
1. 数据类型详细介绍
2. 整形在内存中的存储:原码、反码、补码
3. 大小端字节序介绍及判断
4. 浮点型在内存中的存储解析
C语言自带的内置类型

char//字符数据类型   1个字节

short//短整型  2个字节

int//整型  4个字节

long//长整型  4/8个字节

long long//更长的整型  8个字节

float//单精度浮点数  4个字节

double//双精度浮点数  8个字节

sizeof(long)>=sizeof(int)

一个短整型的取值范围为  -32768~32767

C语言之数据在内存中的存储(1)_第1张图片

 

整型家族

char                                                        字符存储的时候,存储的是ASCLL码值,是整型,所以                                                                    归类于整型家族

        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

数组类型

int arr1[20];->int [20]

int arr2[5];->int [5]

char arr3[5];->char [5]

C语言之数据在内存中的存储(1)_第2张图片

 eg.void*p,这种指针类型可用于函数的参数上

C语言之数据在内存中的存储(1)_第3张图片

在想知道10和-10是如何存放进去之前我们来了解一下原码,反码,补码

二进制序列里面最高位为符号位,符号位为0表示正,为1表示负

正数的原反补都相同,我们着重讲解一下负数的原反补码

C语言之数据在内存中的存储(1)_第4张图片下面我们来简单的计算一下,

下面是代码演示 

C语言之数据在内存中的存储(1)_第5张图片

整型在内存中存放的是补码,那为什么要用补码呢,现在我们来模拟计算一下1-1

C语言之数据在内存中的存储(1)_第6张图片

C语言之数据在内存中的存储(1)_第7张图片

C语言之数据在内存中的存储(1)_第8张图片

C语言之数据在内存中的存储(1)_第9张图片

内存中存储的是补码,而且是倒着存储的

C语言之数据在内存中的存储(1)_第10张图片

这里强调一下1.字节序 ---是以字节为单位来讨论存储顺序的

                      2.小端字节序存储:把一个数据的低位字节的内容,存放在低地址处,把一个数据的高位字节的内容,存放在高地址处

                      3.大端字节序存储:把一个数据的低位字节的内容,存放在高地址处,把一个数据的高位字节的内容,存放在低地址处

下一个博客讲解数据在内存中的存储的习题,请持续关注哦~~~

     

你可能感兴趣的:(c语言)