详细讲解全局变量和局部变量
示例代码
#include<iostream>
using namespace std;
int function(int a){int b = 2,c = 0; //a,b,c仅在函数function()内有效return a+b+c;
}
int main(){int m,n; //m,n仅在函数main()内有效cin>>m;n = function(m);cout<<n;return 0;
}
import java.util.Scanner
public class demo {public static int sum(int a) {int b = 2,c = 0; //a,b,c仅在函数sum()内有效return a + b + c;}public static void main(String[] args) {int m,n; //m,n仅在函数main()内有效Scanner sc = new Scanner(System.in);m = sc.nextInt();n = sum(m);System.out.println("n=" + n);}
}
全局变量
在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是整个程序,也就是所有的源文件。
局部变量
定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数的内部就是无效的,再使用就会报错。
二者区别
1、 定义的位置不一样
局部变量:在方法的内部;
成员变量:在方法的外部,直接写在类中;
2、作用范围不一样
局部变量:只有方法当中才可以使用,出了方法外就不能使用;
成员变量:整个类中都可以使用;
3、默认值不一样
局部变量:没有默认值,如果要想使用,必须手动赋值;
成员变量:如果没有赋值,会有默认值,规则和数组一样;
4、内存的位置不一样
局部变量:位于栈内存;
成员变量:位于堆内存;
以下针对于Java来说
5、生命周期不一样
局部变量:随着方法进栈而产生,随着方法出栈而消失;
成员变量:随着对象创建而产生,随着对象被垃圾回收而消失;
详细讲解全局变量和局部变量相关推荐
- java学习笔记day07 成员变量与局部变量、形式参数、匿名对象、封装、private、this、构造方法、类详细讲解、static
java学习笔记day07 1.成员变量和局部变量的区别 定义变量的注意事项 2.形式参数⭐ [P175] 形参是个类名,要的其实是一个对象 3.匿名对象(了解即可) 4.封装 class Stude ...
- Javascript之全局变量和局部变量部分讲解
以此文作为自己学习的一个总结. 关于全局变量和局部变量的一句简单的定义:在函数外声明的变量都为全局变量,在函数内声明的为局部变量. 一.局部变量和全局变量重名会覆盖全局变量 1 var a = 1; ...
- 全局变量和局部变量的理解及注意事项 超详细 简单易懂
一全局变量和局部变量 (1)全局变量和局部变量的含义: 在函数体内部定义的变量叫做局部变量,在函数体外部定义的变量叫做全局变量.局部变脸只能在定义的那个函数体的内部进行使用,而全局变量在所有函数内部都 ...
- kettle mysql 参数_kettle参数、变量详细讲解
kettle参数.变量详细讲解 kettle 3.2 以前的版本里只有 variable 和 argument,kettle 3.2 中,又引入了 parameter 概念:variable 即env ...
- MySQL 变量的详细讲解
MySQL 变量的详细讲解 每博一文案 见面少没关系,你不要喜欢上别人就好 一禅小和尚的微博视频 很喜欢席慕容写的一句话,挫折回来,也会去,热泪会流下,也会收起,没有什么 可以让我气馁的,因为我有着长 ...
- 自动变量,非自动变量,全局变量与局部变量
自动变量,就是普通的局部变量相对于静态变量而言的 非自动变量有两种,一种是全局变量,一种是静态变量(不被释放)2.全局变量和static变量一样只初始化一次,用static定义的全局变量不能被外部文 ...
- c语言建立全局变量,C语言全局变量和局部变量
引子--- 变量可以在程序中三个地方说明: 函数内部.函数的参数定义中或所有的函数外部.根据所定义位置的不同, 变量可分为局部变量.形式参数和全程变量.从空间角度来看,变量可以分为全局变量和局部变量, ...
- matlab 局部变量和全局变量,C++局部变量和全局变量(详解版)
局部变量定义在一个函数内部,在函数之外是不可访问的.全局变量定义在所有函数之外,并且在其作用域内的所有函数都可以访问.下面做详细讲解. 局部变量 函数中定义的变量是该函数的局部变量.它们在其他函数的语 ...
- vue-cli2、vue-cli3脚手架详细讲解
转载自 vue-cli2.vue-cli3脚手架详细讲解 前言: vue脚手架指的是vue-cli它是vue官方提供的一个快速构建单页面(SPA)环境配置的工具,cli 就是(command-line ...
最新文章
- 解决JRebel对myBatis Mapper 失效的问题
- UA OPTI570 量子力学33 Time-dependent Perturbation基础
- QT教程3: 日期和时间的对象操作
- AC自动机的使用案例
- 经典C语言程序100例之八二
- Bootstrap 列偏移\列嵌套\列排序
- 天正坐标标注怎么不显示_cad中坐标标注怎么显示不了xy的
- 新广告法违规词敏感词检测软件淘宝违规词检测查询工具软件
- python数据分析项目经验简历-Python开发工程师岗位项目经历怎么写
- 那些年我们一起追过的稀奇古怪的SQL
- 常见词根-词缀-需要记忆
- Python就业指导
- 建筑灭火器配置设计规范
- uniapp 视频video 播放 白屏 android
- 负重前行的电信运营商
- linux下批量改文件名命令,Linux 批量更改文件名命令
- 关于AJAX的一些知识
- Chapter 1 (Linear Equations in Linear Algebra): Row reduction and echelon forms (行化简与阶梯式矩阵)
- 开关电源元器件的选择
- 闪压压缩解压软件官方版
热门文章
- mysql绿色荷叶_烟花汇
- iOS使用TestFlight测试流程
- 腾讯地图导航(根据地址)
- 位置式 PID 控制算法和增量式 PID 控制算法
- 2018年9月全国计算机二级报名系统入口,广东2018年9月全国计算机二级考试报名系统(官方)...
- java中判断复选框是否被选中_[Java教程]jquery如何判断checkbox(复选框)是否被选中...
- matlab 让数组每个元素重复出现
- React Native中TouchableHighlight和TouchableOpacity无法获取焦点问题的解决
- bibtex to bibitem
- NGINX之HTTPS双向认证