变量的作用域与生存期(编辑修改稿)内容摘要:

然局限在定义它的局部范围内。 void main() { int i。 for(i=0。 i 3。 i++) inc1()。 for(i=0。 i 3。 i++) inc2()。 } 例 静态内部变量的生存期 include void inc1() { int x=0。 x++。 printf(in inc1 x=%d\n,x)。 } void inc2() { static int x=0。 x++。 printf(in inc2 x=%d\n,x)。 } 运行结果: in inc1 x=1 in inc1 x=1 in inc1 x=1 in inc2 x=1 in inc2 x=2 in inc2 x=3 167。 外部变量 全局变量 定义:在 函数外定义 ,可为 本文件所有函数共用 作用域:从 定义变量的位置开始 到本源文件结束,及有 extern说明 的其它源文件 生存期:整个程序运行期间 !!! 应尽量少使用全局变量,因为: 全局变量在程序全部执行过程中占用存储单元 降低了函数的通用性、可靠性,可移植性 降低程序清晰性,容易出错 定义 说明 次数: 只能 1次 可说明多次 位置: 所有函数之外 函数内或函数外 分配内存: 分配内存 ,可初始化 不分配内存 ,不可初始化 用 extern 声明 外部变量: extern 数据类型 变量表; 外部变量 定义 与外部变量 说明 (声明 )不同 若外部变量与局部变量 同名, 则外部变量 被屏蔽 外部变量可用存储类型 : 缺省 或 static /**/ int a = 3, b = 5。 int max(int a, int b) { int c。 c=ab?a:b。 return(c)。 } void main() { int a = 8。 printf(max=%d,max(a,b))。 } 例 外部变量与局部变量(同名的局部变量 屏蔽 外部变量) 运行结果: max=8 float max, min。 float average(float array[], int n) { int i。 float sum = array[0]。 max = min = array[0]。 for (i=1。 in。 i++) { if( array[i] max ) max = array[i]。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。