一小时搞定C++_5
讲到函数就可以讲讲局部变量和全局变量了,
什么是局部变量呢?什么又是全局变量?
#include <iostream> using namespace std; int x,y,z;//x,y,z是全局变量 int addnum(int a,int b)//a,b是局部变量,也是参数 { return a+b; } int main() { int num1,num2;//num1,num2是局部变量 num1=5; num2=10; cout << addnum(num1,num2); return 0; }
一句话原理:在函数体内定义的变量就是局部变量,在函数体之外定义的就是全局变量
局部变量和全局变量有什么性质呢?
局部变量只能在定义它的那个函数体内使用,全局变量可以在整个C++程序中的任何地方使用!
不听不听,我不听!
让我们看看,倘若我偏要在别的函数内使用局部变量会什么样?
会报错,你的程序无法运行!
所以请大家务必注意,全局变量和局部变量的使用
最后一点:局部变量在每次函数调用的时候都会被定义,而在函数运行完成后被销毁,也就是说局部变量会随着所在函数的产生而产生,销毁而销毁。
如果想不销毁怎么办?
#include <iostream> using namespace std; int x,y,z;//x,y,z是全局变量 int addnum(int a,int b)//a,b是局部变量 { static int d=0,c=0; d=d+1; c=c+2; return a+b+c+d; } int main() { int num1,num2;//num1,num2是局部变量 num1=5; num2=10; cout << addnum(num1,num2); cout << addnum(num1,num2); cout << addnum(num1,num2); return 0; }
很简单,在你不想让局部变量初始化的变量声明前面加上 static 就行了!