- 局部变量 :在函数或代码块内部声明,只能在声明他的函数或代码块内部使用
代码:
#includeusing namespace std; int main() { //局部变量声明 int a, b; int c; //实际初始化 a = 10; b = 20; c = a + b; cout << c; return 0; }
结果:
- 全局变量 :在所有函数外部定义的变量,全局变量的值在程序的整个生命周期内都是有效的,全局变量可以被任何函数访问。 全局变量一旦声明,在整个程序中都是可用的。
代码:
#includeusing namespace std; //全局变量声明 int g; int main() { //局部变量声明 int a, b; int c; //实际初始化 a = 10; b = 20; c = a + b; g = a + b; cout << g; return 0; }
结果:
注意:全局变量和局部变量名称可以相同,但是在函数内局部变量会覆盖全局变量的值。
代码:
#includeusing namespace std; //全局变量声明 int g=20; int main() { g = 10; cout << "g的值为:" << g; return 0; }
结果:
局部变量被定义时,系统不会对其进行初始化,必须自行初始化;
全局变量被定义时,系统会自动初始化为下列值:
| 数据类型 | 初始化默认值 |
|---|---|
| int | 0 |
| char | ‘ ’ |
| float | 0 |
| double | 0 |
| pointer | NULL |
- 形式参数:在函数的参数中定义的变量
代码:
#include#include using namespace std; int main() { string greeting = "hello,runoob"; cout << greeting; cout << "n"; //不加“”会报错 string greeting2 = "hello, runoob"; cout << greeting2; return 0; }
结果:
- #define预处理器
代码:
#includeusing namespace std; //定义常量 #define LENGTH 10 #define WIDTH 5 //不能加分号,否则不是指针,不能相乘 #define newline 'n' int main() { int area; area = LENGTH * WIDTH; cout << area; cout << newline; return 0; }
结果:
- const关键字
代码:
#includeusing namespace std; int main() { const int LENGTH = 10; const int WIDTH = 5; const char newline = 'n'; int area; area = LENGTH * WIDTH; cout << area; cout << newline; return 0; }
结果:
- signed 无符号
- unsigned 有符号
- long 长整型
- short 短整型
代码;
#includeusing namespace std; int main() { short int i; //有符号的短整数 short unsigned int j; //无符号短整数 j = 50000; i = j; cout << i << " " << j; return 0; }
结果
运算步骤:
首先,50000要从10进制转为2进制数,得到结果:1100001101010000;
变为有符号的数,第一位为1,就是“-”;
原数变为:-100001101010000;
按位取反,+1:011110010110000
2进制转换为10进制:15536
加上负号:-15536
- const
- volatile
- restrict
没有详细研究



