0
点赞
收藏
分享

微信扫一扫

C++入门基础 变量声明 内存

金穗_ec4b 2022-01-26 阅读 119

勤奋的竹子深夜来写博客了,这篇博客主要讲解如何定义变量及变量类型

先上张大图

所谓变量,其实就是类似于向电脑要一个特定的盒子装特定的数据

图片有点糊,但应该能看清,这里主要需要记的是char(字符型),int(整型),double(实数型),long long(这张图里没有,实际上就是比int存储范围大一点),bool(布尔型 这张图里也没有),string(字符串),这篇博客就先讲解这几个,后面我们还会学到结构体,队列,栈什么的,这些以后再说

char(字符型)

什么是字符呢,就是类似于A,B,c,d什么的字母,数字等,一个char类型中只能存储一个字符,它占用的内存是1字节到2字节(关于内存这个我会在这篇博客的结尾讲解)

string(字符串型)

字符串顾名思义就是一堆字符链接在一起,一个string类型就相当于一个动态的char数组(关于数组这个我会在后面专门写博客讲解)

int(整型)

int类型可以存储一个大概 -2e9 ~ 2e9 的数据(1e9大概为十的九次方),当然存储的是整数,如果你给它强制赋值一个浮点数(比如2.5),它会自动向下取整(2.5会变成2),内存占用四个字节

long long(长整型)

long long其实就是可以存下比int还要大得多的数据(比如1e18),其他差不多都和int相同,当然了,它占用的内存也比较大(我记得是有8个字节了)

那这里就会有人问了,既然能强制往int中存浮点数,那么能不能往int中存1e18呢

当然不行! 不然还要long long干什么,如果你这么干了,会存入一个非常奇怪的数字(老话说的好 : 三年OI一场空,不开long long见祖宗)当然后面会教你们如何判断要用long long 还是int(long long也不能乱开,小心MLE)

double(实数型)

上面看了这么多,应该也能猜出来double其实就是可以存储小数,占用内存是8个字节

bool(布尔型)

bool占用的内存也是1~2个字节,它只有两个值False和True,非0既真,也就是说,除非你往里面存0或False,其他值存进去都为真,bool类型一般会在条件判断时用到

变量的声明及赋值

先上代码

#incldue <iostream>
using namespace std;
int h;
int main(){
	int a, b;
	double c = 2.5;
	bool v = 0;
	long long d;
	string s;
	char ch;
	s = "1234abc";
	ch = 'A';
	a = b = 0;
	cin >> a >> c >> v >> s;
	return 0;
}

这里可以看出其实声明变量就是在变量类型后面加上变量名称 ,可以一次声明多个变量,中间用逗号隔开;也可以一边声明一边赋值,其中字符串要用双引号括上,字符要用单引号;变量声明可以在主函数内也可以在主函数外(这个我会在讲自定义函数的时候具体讲解);赋值也可以用cin

重要的是要根据数据的类型选定变量类型 不然会存入一个很奇怪的数!

内存

一般我们做题目的时候都会看到有内存限制(如128MB,258MB等),这个就是我们在声明变量时最多可以使用的空间

1 byte (B 字节) = 8 bits (b 比特位,0或1)

1 KB = 1024 (2^10) byte

1MB = 1024 KB

1GB = 1024 MB

1TB = 1024 GB

这个也不需要怎么记,比赛的时候内存溢出情况还是很少的(我一般都是开小了然后CE什么的)

结语

其实关于变量声明的东西还是很简单的,重点在于搞清楚每一种变量类型所对应的单词(其实这个还是基本框架难记)

 变量名称是可以随便取的,但最好还是起一些有象征意义的防止变量定义多了搞混

学习编程最重要的还是要自己把代码打一遍,不然很容易眼睛会了脑子不会!

举报

相关推荐

0 条评论