C/C++教程

C++学习Day04

本文主要是介绍C++学习Day04,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Day04

变量

什么是变量

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

原始数据类型及大小

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

	/*
	* char 1byte 
	* short 4byte
	* int 4byte
	* long 4byte
	* long long 8byte
	* 
	*/
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
在这里插入图片描述
还有一个定义小数的double8byte

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的操作符用来检查数据类型的大小

这篇关于C++学习Day04的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!