变量
C++变量的声明的作用就是告诉编译器在哪里创建和如何创建变量的存储。变量的声明指定一个数据类型和该类型的一或多个变量列表,如:
int i,j,k;
变量在声明时初始化,即用上赋值符号和一个常量表达式:
int d = 3,f = 6;
在哪里定义变量
一般来说有三处地方可以声明变量:
- 在函数或一个代码块内部(局部变量)
- 在函数参数的定义中声明变量(形式参数)
- 在所有函数外部声明变量(全局变量)
局部变量
#include <iostream>
using namespace std;
int main()
{
int a,b; // 局部变量
...
}
形式参数
#include <iostream>
using namespace std;
int helloWorld(int day) // 形式参数
{
...
}
全局变量
#include <iostream>
using namespace std;
int x; // 全局变量
int main()
{
...
}
默认值
如果不带初始化的声明,那么变量的默认值是多少呢?如果是带有static修饰的变量会被隐式初始化为NULL(所有字节的值都是0),而其他所有变量的初始值都是未定义。
static int a; // a的默认值为 NULL,即所有字节都是0
int b; // b的默认值为未定义
常量
常量的定义在C++中有两种方式:
- #define宏常量:#define 常量名 常量值
- const修饰的变量:const 数据类型 常量名 = 常量值
以上两者的区别是const常量有数据类型,而宏常量没有。编译器可以对const常量进行类型安全检查,对于宏常量只能进行字符替换,没有类型安全检查。