数据类型是程序的基础
算数类型的分类
- 整型 (包括字符和布尔类型)
- 浮点型
【注意】切勿混用带符号类型和无符号类型,否则会出现意想不到的错误。
初始化和赋值的区别:
初始化:创建一个变量时赋予其一个初始值
赋值:把对象的当前值擦除,并且以一个新值来代替。
变量的声明和定义的区别:
声明:规定了变量的类型和名字
定义:规定了变量的类型和名字,还为变量申请了存储空间。
【注意】变量只能定义一次,但是可以多次声明。
引用:
int a = 8;
int &b = a;
其中b是引用,b与a绑定在了一起,对b进行操作其实就是对a进行操作。
引用是为对象起了一个别名。定义引用时,程序把引用和它的初始值绑定在一起,而不是将初始值拷贝给引用。所以定义引用必须初始化!
【注意】引用本身不是一个对象。
指针:
int a = 8;
int *b = &a;
其中b存放的是变量a的地址,或者说b是指向指向a变量的指针。其中“&”符是取地址符。
指针是指向另外一种类型的复合类型。
【注意】指针本身就是一个对象,允许指针的赋值和拷贝。
指针无须在定义的时候赋初始值,指针如果没有初始化,其值是不确定的,也就是会形成“野指针”。
建议:在定义指针的时候要给其初始化!
如果我们想通过指针访问变量,我们就需要解引用符“*”(这个*和定义的指针时候的*意义是不同的,千万不能混淆)例如:cout << *b; 这个打印出来的就是8;
const限定符:
const对象一旦创建后,其值就不能跟改变了,所以const对象必须初始化!
const与指针的应用,这部分已经在这篇博客中说明了,这里就不在赘述了。const和指针的应用
【注意】默认状态下,const对象仅在当前文件内有效。如果想在多个文件之间共享const对象,必须在变量定义之前加上extern。
const的引用: 把引用绑定到const对象上,就是对常量的引用,对常量的引用不能修改它所绑定的对象!
例:
const int a = 1024; // a是一个常量对象
const int &b = a; // 引用及其对应的对象都是常量
错误示例:
const int a = 1024;
const int &b = a;
b = 42; // 错误,b是对常量的引用,不能通过b去改变a的值。
int &c = a;//错误, 试图让一个非常量引用指向一个常量对象。