如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第四章函数与预处理(2)4.11变量存储特性与标识符作用域cout<<func()<<endl;intfunc();{cout<<func()<<endl;f2(10,23);//a,b的作用域从这里开始staticb=3staticintb=1;//静态变量doublefunPrototype(doublex,doubley);cout<<func()<<endl;staticb=3{intx=256;//main函数可以访问a,b,ccout<<"autoa="<<a<<endl;标识符作用域标识符作用域f2(10,23);栈区(stackarea)}//内层的a作用域结束cout<<func()<<endl;降低程序清晰性,容易出错.staticintb=1;//静态变量voidmain()voidmain()cout<<func()<<endl;#include<iostream.voidmain()voidmain()//例3静态变量与自动变量的测试returna+b;returna+b;externcharc1,c2;cout<<"autoa="<<a<<endl;标识符作用域标识符作用域//例2使用文件作用域变量#include<iostream.h>inta=1,b=1;voidf1(intx){a=x*x;b=a*x;}intc;voidf2(intx,inty){a=x>y?x:y;b=x<y?x:y;c=x+y;}voidmain(){f1(4);cout<<"callfunctionf1:\n";cout<<"a="<<a<<",b="<<b<<endl;f2(10,23);cout<<"callfunctionf2:\n";cout<<"a="<<a<<",b="<<b<<",c="<<c<<endl;}标识符作用域intp=1,q=5;floatf1(inta){intb,c;…….}intf3(){…..}charc1,c2;charf2(intx,inty){inti,j;……}main(){intm,n;…….}标识符作用域标识符作用域标识符作用域标识符作用域程序的内存区域程序的内存区域2存储特性//例3静态变量与自动变量的测试#include<iostream.h>intfunc();voidmain(){cout<<func()<<endl;cout<<func()<<endl;}intfunc(){inta=0;//自动变量staticintb=1;//静态变量a++;b++;cout<<"autoa="<<a<<endl;cout<<"staticb="<<b<<endl;returna+b;}//例3静态变量与自动变量的测试#include<iostream.h>intfunc();voidmain(){cout<<func()<<endl;cout<<func()<<endl;}intfunc(){inta=0;//自动变量staticintb=1;//静态变量a++;b++;cout<<"autoa="<<a<<endl;cout<<"staticb="<<b<<endl;returna+b;}//例3静态变量与自动变量的测试#include<iostream.h>intfunc();voidmain(){cout<<func()<<endl;cout<<func()<<endl;}intfunc(){inta=0;//自动变量staticintb=1;//静态变量a++;b++;cout<<"autoa="<<a<<endl;cout<<"staticb="<<b<<endl;returna+b;}//例3静态变量与自动变量的测试#include<iostream.h>intfunc();voidmain(){cout<<func()<<endl;cout<<func()<<endl;}intfunc(){inta=0;//自动变量staticintb=1;//静态变量a++;b++;cout<<"autoa="<<a<<endl;cout<<"staticb="<<b<<endl;returna+b;}//例3静态变量与自动变量的测试#include<iostream.h>intfunc();voidmain(){cout<<func()<<endl;cout<<func()<<endl;}