C++中的局部变量和全局变量

在函数内部声明的变量叫做局部变量,局部变量的意思就是该变量只存活在该函数中,假如该函数调用结束,那么该变量的寿命就结束了。

#include<iostream>

using namespace std;
void swap(int ,int );//声明swap函数,也就是交换值函数
void main(){
int x=3,y=8;
cout<<”在main函数中调用swap函数前,x的值是\t”<<x<<”\t”<<”Y的值是\t”<<y<<endl;
swap(x,y);
cout<<”在main函数中调用swap函数后,x的值是\t”<<x<<”\t”<<”Y的值是\t”<<y<<endl;
}

void swap(int a,int b)//定义swap函数,交换a与b的数值
{
cout<<”在swap函数中调用swap函数前,x的值是\t”<<a<<”\t”<<”Y的值是\t”<<b<<endl;
int z;
z=a;
a=b;
b=z;
cout<<”在swap函数中调用swap函数后,x的值是\t”<<a<<”\t”<<”Y的值是\t”<<b<<endl;
}

通过以上实验可以得出,局部变量只能在函数内有效,出了main函数就无效了。

在任意函数外部定义的变量称为全局变量,这种变量对程序中的任何函数均有效,包括main()函数:

#include<iostream>

using namespace std;
void swap(int ,int );//声明swap函数,也就是交换值函数
int x=123;//全局变量x
int y=1687;//全局变量y

void main(){
//int x=3,y=8;假如定义了在这里定义x和y则会屏蔽掉全局变量的x和y

cout<<”在main函数中调用swap函数前,x的值是\t”<<x<<”\t”<<”Y的值是\t”<<y<<endl;
swap(x,y);
cout<<”在main函数中调用swap函数后,x的值是\t”<<x<<”\t”<<”Y的值是\t”<<y<<endl;
}

void swap(int x,int y)//定义swap函数,交换a与b的数值
{
cout<<”在swap函数中调用swap函数前,x的值是\t”<<x<<”\t”<<”Y的值是\t”<<y<<endl;
int z;
z=x;
x=y;
y=z;
cout<<”在swap函数中调用swap函数后,x的值是\t”<<x<<”\t”<<”Y的值是\t”<<y<<endl;
} 本文链接地址: C++中的局部变量和全局变量