c++:int数据类型,int的存在意义,就是为了分配合理的内存空间,不浪费内存,占空间的大小怎么求?sizeof(变量/类型)
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c++的话,
我所知道的周边的会c++的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg
提示:系列c++学习的基础和高阶知识,用于公司生产实践中,实实在在的公司部署产品要用的,因为c++速度快,
而java和Python速度慢,自然往硬件里面部署算法啥的,都得用c++或者c,因此本科学的c很重要,后来的Python或者java就没有那么重要了,
c++数据类型:整型int
数据类型的存在意义是啥呢???
就是分配合理的内存空间,否则你占空间太大,或者太小都不行,懂???
反正就是为了不浪费空间
上图第2条,不限制int的话,太长了,浪费啊
一般情况下,我们用Windows系统,那long 就是4字节
公司可能用linux,32位系统是4字节,而64位系统是8字节
初学就要明白不同类型的数据,占用的空间不同
——自然,其取值范围就不一样了,short咱们平时使用得少
一般用int,32位,表示范围就是上面那段
下面用代码展示一波
#include<iostream>
using namespace std;
int main() {
//短整形short
short num1 = 10;
//int整形
int num2 = 10;
//长整型long
long num3 = 10;
//长长整型
long long num4 = 10;
cout << num1 << endl;
cout << num2 << endl;
cout << num3 << endl;
cout << num4 << endl;
system("pause");
return 0;
}
输出都一样,都是10
但是区别是啥?我们说了是占空间大小,怎么表示数据的字节大小呢???
注意:当你num的数超过了short或者int等的可以表示范围,就会被截断
超过了范围只能最大表示[a,b]边界值ab
c++数据类型所占空间的大小怎么求?sizeof(变量/类型)
#include<iostream>
using namespace std;
int main() {
//短整形short
short num1 = 10;
cout << "short占的空间:" << sizeof(short) << endl;
//int整形
int num2 = 10;
cout << "short占的空间:" << sizeof(int) << endl;
//长整型long
long num3 = 10;
cout << "short占的空间:" << sizeof(long) << endl;
//长长整型
long long num4 = 10;
cout << "short占的空间:" << sizeof(long long) << endl;
/*cout << num1 << endl;
cout << num2 << endl;
cout << num3 << endl;
cout << num4 << endl;*/
cout << "num1占的空间:" << sizeof(num1) << endl;
cout << "num2占的空间:" << sizeof(num2) << endl;
cout << "num3占的空间:" << sizeof(num3) << endl;
cout << "num4占的空间:" << sizeof(num4) << endl;
system("pause");
return 0;
}
不管是直接放数据类型,还是放变量,都一样的结果
回头,
如果我们要看看字符串,数组啥的,他们的长度是多少?
现在你可以通过sizeof求他们能占多大的空间,比如你int数组,每个占40字节,
到时候用sizeof(arr)/sizeof(int),就知道arr的元素长度了
len=40/4=10个元素
总结
提示:重要经验:
1)int,short,long, long long等区别就是占用空间不同而已
2)学好c++,即使经济寒冬,手握10个大厂offer绝对不是问题!
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。