欢迎来到天天文库
浏览记录
ID:48031416
大小:3.13 MB
页数:24页
时间:2020-01-13
《C++函数-作用域与存储类别.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在C++语言中,由用户命名的标识符都有一个有效的作用域。(标识符:如变量名、函数名)作用域:即作用范围,指所定义的标识符在哪一个区间内有效,可以被C++编译和连接程序所识别。例如在函数sub()内定义的变量,不能在其他函数中引用;变量的作用域与其在程序中出现的部位有关。用户标识符的作用域块作用域(局部变量)文件作用域(全局变量或称外部变量)函数原型作用域函数作用域类作用域作用域的类型以后介绍块:用花括号括起来的一部分称为一个块。块作用域:在块内定义的标识符,其有效范围在块内。局部变量:在块内定义的变量或在一个函数内部定义的变量。块作用域floatf1(inta)//函数f1{i
2、ntb,c;...}charf2(intx,inty)//函数f2{intb,c;inti,j;...}voidmain()//主函数{intm,n;...}块作用域例a,b,c有效x,y,b,c,i,j有效m,n有效#includevoidmain(){inta,b;cin>>a>>b;if(a>b){intt;t=a;a=b;b=t;}cout<3、rf2(intx,inty){intb,c,d;...}局部变量例形参也为局部变量只在main()函数中有效不同函数可使用相同名字的变量全局变量:在函数外部定义的变量或用extern定义的变量,又被称为外部变量。有效范围:从定义变量的位置开始到本源文件结束。文件作用域:全局变量的有效范围称为文件作用域。文件作用域inti=1,j=4;floatf(inta){intb,c;…}charc1,c2;charg(intx,inty){intk,l;...}main(){intm,n;…}全局变量例i,j,c1,c2均为全局变量但作用范围不同c1,c2的作用范围i,j的作用范围#in4、cludeusingnamespacestd;inti=10;voidmain(){inti,j=5;i=20;//访问局部变量i::i=::i+4;//访问全局变量ij=::i+i;//访问全局变量i和局部变量i、jcout<<"::i="<<::i<5、a,b,c,d;intmin(intx,inty);//或intmin(int,int);cin>>a>>b>>c;d=min(a,b);d=min(d,c);//函数调用cout<<"min="<6、……{label1:……}gotolabel1;//可以…….gotolabel2;//不可以}voidf2(){label2:…..}函数作用域指在函数内定义的标识符在函数内的任何地方均有效。在C++中,特指语句标号。外部变量可不在文件开头定义。例:在程序末尾定义全局变量,如果在定义前使用它们,则必须做extern说明。类似于函数原型说明。即,若自定义函数在主函数后面,则调用它之前必须进行原型说明。外部变量说明externintmax(intx,inty){intz;z=x>y?x:y;return(z);}voidmain(){externinta,b;intm;m=max7、(a,b);cout<y?x:y;return(z);}voidmain(){externinta,b;intm;m=max(a,b);cout<
3、rf2(intx,inty){intb,c,d;...}局部变量例形参也为局部变量只在main()函数中有效不同函数可使用相同名字的变量全局变量:在函数外部定义的变量或用extern定义的变量,又被称为外部变量。有效范围:从定义变量的位置开始到本源文件结束。文件作用域:全局变量的有效范围称为文件作用域。文件作用域inti=1,j=4;floatf(inta){intb,c;…}charc1,c2;charg(intx,inty){intk,l;...}main(){intm,n;…}全局变量例i,j,c1,c2均为全局变量但作用范围不同c1,c2的作用范围i,j的作用范围#in
4、cludeusingnamespacestd;inti=10;voidmain(){inti,j=5;i=20;//访问局部变量i::i=::i+4;//访问全局变量ij=::i+i;//访问全局变量i和局部变量i、jcout<<"::i="<<::i<5、a,b,c,d;intmin(intx,inty);//或intmin(int,int);cin>>a>>b>>c;d=min(a,b);d=min(d,c);//函数调用cout<<"min="<6、……{label1:……}gotolabel1;//可以…….gotolabel2;//不可以}voidf2(){label2:…..}函数作用域指在函数内定义的标识符在函数内的任何地方均有效。在C++中,特指语句标号。外部变量可不在文件开头定义。例:在程序末尾定义全局变量,如果在定义前使用它们,则必须做extern说明。类似于函数原型说明。即,若自定义函数在主函数后面,则调用它之前必须进行原型说明。外部变量说明externintmax(intx,inty){intz;z=x>y?x:y;return(z);}voidmain(){externinta,b;intm;m=max7、(a,b);cout<y?x:y;return(z);}voidmain(){externinta,b;intm;m=max(a,b);cout<
5、a,b,c,d;intmin(intx,inty);//或intmin(int,int);cin>>a>>b>>c;d=min(a,b);d=min(d,c);//函数调用cout<<"min="<6、……{label1:……}gotolabel1;//可以…….gotolabel2;//不可以}voidf2(){label2:…..}函数作用域指在函数内定义的标识符在函数内的任何地方均有效。在C++中,特指语句标号。外部变量可不在文件开头定义。例:在程序末尾定义全局变量,如果在定义前使用它们,则必须做extern说明。类似于函数原型说明。即,若自定义函数在主函数后面,则调用它之前必须进行原型说明。外部变量说明externintmax(intx,inty){intz;z=x>y?x:y;return(z);}voidmain(){externinta,b;intm;m=max7、(a,b);cout<y?x:y;return(z);}voidmain(){externinta,b;intm;m=max(a,b);cout<
6、……{label1:……}gotolabel1;//可以…….gotolabel2;//不可以}voidf2(){label2:…..}函数作用域指在函数内定义的标识符在函数内的任何地方均有效。在C++中,特指语句标号。外部变量可不在文件开头定义。例:在程序末尾定义全局变量,如果在定义前使用它们,则必须做extern说明。类似于函数原型说明。即,若自定义函数在主函数后面,则调用它之前必须进行原型说明。外部变量说明externintmax(intx,inty){intz;z=x>y?x:y;return(z);}voidmain(){externinta,b;intm;m=max
7、(a,b);cout<y?x:y;return(z);}voidmain(){externinta,b;intm;m=max(a,b);cout<
此文档下载收益归作者所有