xbns.net
当前位置:首页 >> C语言作用域 >>

C语言作用域

作用域和生存周期是完全不同的两个概念.作用域可以看作是变量的一个有效范围,就像网游中的攻击范围一样;生存周期可以看成是一个变量能存在多久,能在那些时段存在,就像网游中的魔法持续时间…… 简单的以一个局部变量来举个例子

a和b的作用域仅限于内层大括号,出了大括号则不可访问或者表示外部的同名变量.在内层大括号内a表示内层中定义的a,它覆盖了外层中定义的a的作用域.

作用域的定义是这样的:如果一个变量在某抄个文件或函数范围内是有效的,则称该文件或函数为该变量的作用域,在此作用域内可以引用该变量,bai所以又称变量在此作用域du内“可见”,这种性质又称为变量的可见性.例如 文件file.c int a; main函数zhi {… f2(); … f1(); } f1函数 {auto int b; … f2() … } f2函数 {static int c; … } 这里a的作用域dao就是整个文件,b的作用域是f1函数,c的作用域是f2函数!其实作用域就是作用范围没什么很复杂的概念!

准确而又通俗点来讲,按变量是在函数体之内之外定义分两大种.1、局部变量:在函数内定义的,属于所在的函数自己所有,与其他函数无关.局部变量随所在函数被调用而产生,随函数返回而消灭.2、外部变量:也称全局变量.在函数外定

总的分为局部变量和全局变量:局部变量又可分为动态局部变量(没特殊声明的变量一般都为动态局部变量)和静态局部变量(用static关键字声明的变量如:static int a;);两者的区别在于:静态的局部变量生存期比动态的局部变量来的长,

全局变量的作用域,是作用于整个程序,例如,程序中的x就是全局变量,y是局部变量,只在main()有效.int x; main() { int y; }

局域和全局 静态和动态

给你这个例子 #include<stdio.h>//包含stdio.h的库文件int d=1;//声明全局变量d赋值9fun(int p)//定义一个fun()参数为p的函数{static int d=5;//声明静态变量d并赋值5 d+=p;//d=d+p printf("%d",d);//输出d的值 return(d);}//返回d的值main(){ int d=

错 例如只有一个主函数那么全局变量的作用域一定比局部变量的作用域相等 所以是错的

前面定义的,是全局变量,,也就是,后面的函数中都要效果,而在main函数了定义的,只有main函数中有效,,之外无效,如int a=1;void main(){int b=0; //ab 都有效.}int fun(){ // a有效,而b无效} 明白了吗

网站首页 | 网站地图
All rights reserved Powered by www.xbns.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com