数据类型的内存量

当你学会了在课上基本解决,对现代机器内存通常被组织成字节大小的块,每个块具有一个唯一的地址。在这一点上,它是有用的认为记忆是一束分支或邮箱里我们可以把和检索信息,和变量的访问这些分支或邮箱名称。

然而,一方面,大多数变量实际上采取了超过1字节的内存这样的比喻是不正确的。因此,一个单一的变量可以用2,4,甚至8个连续的内存地址。一个变量的使用是基于它的数据类型的内存量。幸运的是,因为我们通常访问存储器通过变量名而不是内存地址,编译器能够在很大程度上隐藏的细节,用不同大小的变量,从我们的工作。

有是了解变量占用多少内存有用的几个原因。

首先,更多的内存占用一个变量,它可以容纳更多的信息。因为每一点只能容纳0或1,我们说点可以存储2个值。2位可存储4个不同的值:

3位可储存8个值。N位可储存2 ^ N值。因为一个字节的8位,一个字节可以存放2 ^8(256)的值。

变量的大小对大量的信息可以存储-这是更大的变量可以容纳更多的限制。我们将进一步解决这个问题的时候,我们进入不同类型的变量。

第二,电脑有一个有限的可用内存。每一次我们声明一个变量,那游离的记忆是只要用变量是存在的一小部分。由于现代计算机有很多的记忆,这通常不是一个问题,特别是如果只声明一个变量少。然而,这需要大量的变量的程序(如100000),使用1字节和8字节变量之间的差异可能是重要的。

下一个显而易见的问题是“多少记忆做不同数据类型的变量?“。大小的一个给定的数据类型是依赖于编译器和/或计算机体系结构。在大多数的32位机(写这本书),一个字符的1字节,1字节是一个布尔,短的是2字节,一个是4字节,一个长为4个字节,一个浮动是4字节,一双是8字节。

为了确定在一个特定的机器的数据类型的大小,C++提供了一个名叫sizeof操作。sizeof操作符是一元运算符,它可以是一个类型或变量,并返回字节数大小。你可以编译并运行下面的程序来找出你有多大的数据类型:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值