C++学习Day04

C++学习Day04,第1张

C++学习Day04 Day04 变量 什么是变量

变量就是任何我们在程序中使用的数据,能进行改变的数据存储在一个叫做变量的东西中。所以变量基本允许我们给一个存储在内存中的数据一个名字,这样我们就可以继续使用它。例如:你在做一个游戏,你游戏中有一个玩具,然后他角色在地图上有一个位置信息,角色可以移动,所以我们需要把玩家的位置存储在我们的内存中,作为一个变量。
当我们创建一个变量时,他会被存储在内存中的两个地方之一,堆或栈中。

原始数据类型大小

原始数据类型基本上构成了我们在程序中存储任何类型数据的基础。C++中不同变量类型之间(原始数据类型)的唯一区别就是大小,就是这个变量占用多少内存。

	
int main(){
	std::cout << Multiply(5, 8) << std::endl;
	std::cin.get();
}

int表示整数
定义一个新变量

int variable = 8; //带符号整数存储范围为 -2b - 2b b:十亿

int是4个字节(byte)大小的整型(传统上)。但是数据类型的实际大小取决于编译器。
修改变量

int variable = 8; //带符号整数存储范围为 -2b - 2b b:十亿
	//std::cout << Multiply(5, 8) << std::endl;
	std::cout << variable << std::endl;
	variable = 20;
	std::cout << variable << std::endl;

最终输出
为什么说会有这个限制? 1byte是8bit,那么4byte就是32bit,因为数据有负的,所以它包含了一个符号,也就是一个负号,32bit中有一个就必须是符号,剩下的都是留给实际的数字,1bit有可能有0或1里两种可能,那么31bit每个bit有2中可能,那么2的31次方有多少值。
那么如果你不想要负数,那么在c++中你需要用到一个关键词unsigned 来获取。

char传统上用来存储字符的,你可以给他赋值字符,也可以给他赋值数字。就算给了char一个数字也会被转换成一个字符,这主要遵循ascll码
如果想存一个小数呢?例如5.5
我们就有两种类型可以使用float和double
float基本上是一个字节占用4byte

float variable = 5.5;

在这你认为你定义了一个float但是实际上是一个double

还有一个定义小数的double占8byte

double var = 5.3;

那么double和float如何区分呢?基本上就是float后面加上一个f。

你还会注意到一点就是加了f 之后你实际就声明了一个float。
bool 占用1byte 表示true或者false

我们可以看到一个值1,实际上没有真或者假这种东西,所以基本上0意味着false,其他则为true。为什么是1byte?因为当我们需要从内存中获取或者存储我们的bool时,我们没有办法寻址到每个bit,我们只能寻址到byte ,我们无法创建一个只有1bit的变量类型,因为我们需要访问他,我们现在只能访问byte,我们能做的就是将8个bool存在1个byte里面,那么就完全没有问题,每个bool占1bit,但你仍然只需要那一个byte的内存。

如何知道数据类型的大小

c++中有一个叫sizeof的 *** 作符用来检查数据类型的大小

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4951440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存