首页 课程 师资 教程 报名

静态局部变量的作用域介绍

  • 2022-08-12 10:36:08
  • 641次 星辉

静态局部变量的作用域是什么?星辉小编来告诉大家。

局部变量(动态储存)

1.仅能在它所定义的语句块内有效

例如:

第一个x,为零的作用域为定义它的语句块作用域(红色格格),里面的为橙色格格。

2.作用域较小的局部变量隐藏作用域较大的局部变量

例如:上图里的运算结果:

此时 int x = 1, y = 1;作用域较小会隐藏 x = 0, y = 0;的作用域。

全局变量(静态储存)

从此程序开始到此程序结束都有效(这里指的是一个程序而不是定义它的文件)。

1.局部变量与全局变量重名

局部变量隐藏全局变量,变量值互不影响。

2.形参与全局变量重名

形参属于局部变量,符合局部变量隐藏全局变量,变量值互不影响。

也就是说:

只要同名的变量出现在不同的作用域内

二者互不干扰,编译器有能力区分不同作用域中的同名变量

假如同名变量 出现在同一个作用域中

编译器也将束手无策

全局变量与静态全局变量

全局变量与静态全局变量都是静态储存,那有什么区别呢?

静态全局变量的作用域为定义它的此文件内有效, 在同一源程序的其它源文件中不能使用它。而非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的,但在别的文件中使用需要使用extern 修饰。

局部变量与静态变量

局部变量与静态变量不同的是它的存储方式即改变了它的生存期,static局部变量只被初始化一次,下一次依据上一次结果值;同时只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。

静态(static)函数与普通函数

static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

小结图:

以上就是关于“静态局部变量的作用域介绍”,大家如果想了解更多相关知识,可以关注一下星辉的Java教程,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交