C语言中数据在内存如何存储

您所在的位置:网站首页 c语言的实数是什么 C语言中数据在内存如何存储

C语言中数据在内存如何存储

2024-07-16 01:17| 来源: 网络整理| 查看: 265

数据类型

【知识点】

数据类型整型字符型实数(浮点型)型

【内容】

一、数据类型

C语言要求在定义所有的变量时都要指定变量的类型。常量也是区分类型的。

在数学中,数值是不分类型的,数值的运算是绝对准确的,例如:78与97之和为175,1/3的值是0.33333...(循环小数)。数学是一门研究抽象的学科,数和数的运算都是抽象的。

而在计算机中,数据是存放在存储单元中的,它是具体存在的。而且存储单元是由有限的字节构成的,每一个存储单元中存放数据的范围是有限的,不可能存放“无穷大”的数,也不能存放循环小数。例如用C程序计算和输出1/3:

printf("%f",1/3.0);

得到的结果是0.333333,只能得到6位小数,而不是无穷位小数。

结论:用计算机进行的计算不是抽象的理论值的计算,而是用工程的方法实现的计算,在许多情况下只能得到近似的结果。

 

所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。

数据类型的分类:(带*表示C99添加)

基本类型 整型类型 短整型(short [int])基本整型(int)长整型(long [int])*双长整类型(long long [int])*布尔型(bool)实数(浮点)类型 单精度浮点型(float) 占4个字节,有效数为6位双精度浮点型(double) 占8个字节 有效数为15位*长双精度浮点型(long double)字符类型(char) 占1个字节枚举类型(enum)空类型(void)派生类型(5) 指针类型(*)数组类型([])结构体类型(struct)共用体类型(union)函数类型

在C语言之中没有字符串变量,字符串使用字符数组表示。C语言中对数据类型没有设定默认值。

 

二、整型数据

整型数据在存储单元中的存储方式是:以二进制补码形式存储。一个正数的补码,是该数的二进制形式。一个负数的补码,是该负数的绝对值的原码取反加1的形式。

例如:-5的补码

在存放整数的存储单元中,最左面一位是用来表示符号的。如果该位为0,表示数值为正。如果该位为1,表示数值为负。

如果给整型变量分配2个字节,则存储单元中能存放的最大值为01111111 11111111,最小值为10000000 00000000。超过此范围,就会出现数值的“溢出”。

基本整型(int)短整型(short [int])长整型(long [int])双长整型(long long [int])

注意:C标准没有具体规定各种数据类型所占用存储单元的长度。这是由各编译系统自行决定的。C标准只要求long型数据长度不短于int型,short型不长于int型。即:

sizeof(short)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3