C/C++的基本数据类型
数据类型决定数据的空间分配, 及能对其做什么操作.
C语言中的四种基本数据类型: char
,int
,float
,double
.
C与C++定义这些类型时都只是限定它们的最大最小值, 而不是它们的size(占几个字节). 这些最值存储在limits.h
和float.h
中.
不同编码方式表示相同数据占用字节数量可能不同.
CPP中引入了bool类型
C中没有bool, C++有. 由此又引入了两个关键字:true
,false
. 这两个关键字在cpp与java中一样. 但在python中分别是True
和False
.
数值类型可以转换为bool类型: 0为false, 其余为true.
bool类型也可以转换成数据类型:true为1, false为0.
#include<iostream>
using namespace std;
int main()
{
int a = 10, b = 0, c = -1;
cout << (bool)a << (bool)b<<(bool)c<< endl;
}
限定符(Specifiers): short, long, signed, unsigned
short
,long
加在int
前, 可以修改int
的limit. 但如何改具有平台差异性. 不过有一点要保证: short int
, int
, long int
, 这三种数据类型, 后面的最小值不小于前者的最大值.
C/Cpp的这种语言特性对其可移植造成了一定障碍. 不如Java, 所有平台一致. 也不如python, 所有的int都是默认是long int, big integer, 能表示所有的整数, 唯一的限制是内存空间. 很方便的一种特性, 特别是对科学计算, 数据处理来说.
signed
与unsigned
可以改变符号位的解释方式. 除了char
默认为unsigned
, 其余默认都是signed
.
Pointer 和 Reference
不知道在不在基本数据类型的范畴之内. 不过这个也不重要.
(END)
Daniel的学习笔记
浙江大学计算机专业15级硕士在读, 方向: Machine Learning, Deep Learning, Computer Vision.
blog内容是我个人的学习笔记, 由于个人水平限制, 肯定有不少错误或遗漏. 若发现, 欢迎留言告知, Thanks!
Daniel的学习笔记
浙江大学计算机专业15级硕士在读, 方向: Machine Learning, Deep Learning, Computer Vision.
blog内容是我个人的学习笔记, 由于个人水平限制, 肯定有不少错误或遗漏. 若发现, 欢迎留言告知, Thanks!