4.1局部变量和金局变量 二、全局变量 定义:在函数内定义的变量是局部变量,而 在函数之外定义的变量是外部变量,称为全局 变量(也称全程变量)。全局变量的有效范围为 从定义变量的位置开始到本源文件结束。 例如:
4.11 局部变量和全局变量 二、全局变量 定义:在函数内定义的变量是局部变量,而 在函数之外定义的变量是外部变量,称为全局 变量(也称全程变量)。全局变量的有效范围为 从定义变量的位置开始到本源文件结束。 例如:
4.11局部变量和金局变量 int p=1,q=5; float f1(a) int a; int b,c; } char c1,c2; char f2(intx,inty) 全局变量p、 int i,j; q的作用范围 全局变量c1、 main ( c2的作用范围 int m,n;
4.11 局部变量和全局变量 int p=1,q=5; float f1(a) int a; { int b,c; ┆ } char c1,c2; char f2 (int x, int y) { int i,j; ┆ } main ( ) { int m,n; ┆ } 全局变量c1、 c2的作用范围 全局变量p、 q的作用范围
41局部变量和金局变量 说明: (1)设全局变量的作用是增加函数间数据联系 的渠道。 (2)建议不在必要时不要使用全局变量,因为: ①全局变量在程序的全部执行过程中都占用存储单 元,而不是仅在需要时才开辟单元。 ②它使函数的通用性降低了,因为在执行函数时要 受到外部变量的影响。 ③使用全局变量过多,会降低程序的清晰性。 (3)如果在同一个源文件中,全局变量与局部 变量同名,则在局部变量的作用范围内,全局 变量被屏蔽,即它不起作用
4.11 局部变量和全局变量 说明: (1) 设全局变量的作用是增加函数间数据联系 的渠道。 (2) 建议不在必要时不要使用全局变量,因为: ① 全局变量在程序的全部执行过程中都占用存储单 元,而不是仅在需要时才开辟单元。 ② 它使函数的通用性降低了,因为在执行函数时要 受到外部变量的影响。 ③ 使用全局变量过多,会降低程序的清晰性。 (3) 如果在同一个源文件中,全局变量与局部 变量同名,则在局部变量的作用范围内,全局 变量被屏蔽,即它不起作用
1、写出运行结果: #include <iostream> using namespace std; char name[10]="main"; int main( cout<<name<<endl; func1(); cout<<name<<endl; func2() cout<<name<<endl;return 0; void func1() strcpy(name,"func1"); void func2() char name[10] strcpy(name,"func2");}
1、写出运行结果: #include <iostream> using namespace std; char name[10]=“main”; int main( ) {cout<<name<<endl; func1( ); cout<<name<<endl; func2( ); cout<<name<<endl; return 0; } void func1( ) { strcpy(name, “func1”); } void func2( ) { char name[10]; strcpy( name, “func2”); }
2、写出运行结果: #include <iostream> using namespace std; intx=-8,y=100: int func(int a,int b) int y; y=x+a; X++ a++; cout<<b-<<-b<<endlj return(x+y+a);} int main() int m=2; y=func(m,x); cout<<x<<y<<m<<endl;return 0;}
2、写出运行结果: #include <iostream> using namespace std; int x=-8, y=100; int func( int a, int b) { int y; y=x+a; x++; a++; cout<<b-<<-b<<endl; return( x+y+a); } int main( ) { int m=2; y=func(m, x); cout<< x<<y<<m<<endl;return 0; }