当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

全局变量与局部变量的区别

发表于: 2013-07-25   作者:annan211   来源:转载   浏览次数:
摘要: 变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。  按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。   按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义
变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。  按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。  
按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。  
全局变量和静态变量如果没有手工初始化,则由编译器初始化为0。局部变量的值不可知。  
静态全局变量,只本文件可以用。  
全局变量是没有定义存储类型的外部变量,其作用域是从定义点到程序结束.省略了存储类型符,系统将默认为是自动型.  
静态全局变量是定义存储类型为静态型的外部变量,其作用域是从定义点到程序结束,所不同的是存储类型决定了存储地点,静态型变量是存放在内存的数据区中的,它们在程序开始运行前就分配了固定的字节,在程序运行过程中被分配的字节大小是不改变的.只有程序运行结束后,才释放所占用的内存.  
自动型变量存放在堆栈区中.堆栈区也是内存中一部分,该部分内存在程序运行中是重复使用的. 

全局变量与局部变量的区别

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1 前言 本文档是描述编程基础中形参与实参、全局变量与局部变量的区别。 2 名词解析 2.1 形参 定义
局部变量 当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变
//const局部变量 #include <iostream> #include <string> using namespace std; int ma
经常需要配置Nginx ,其中有许多以 $ 开头的变量,经常需要查阅nginx 所支持的变量。 可能是对 Ngix
经常需要配置Nginx ,其中有许多以 $ 开头的变量,经常需要查阅nginx 所支持的变量。 可能是对 Ngix
局部变量的实现 git@osc地址 在字节码层面,每一个方法都有一个局部变量数组,用来存储当前方法的参
1.虚拟机网络限速问题 CS 全局配置中有虚拟机和虚拟路由器的限速 缺省值在某些情况下无法满足需要
此处请参考下:http://coolshell.cn/articles/10115.html C语言全局变量那些事儿 csapp :p_700 以上
Java开发中,每当我们在程序中使用new生成一个对象,对象的引用存放在栈里,而对象是存放在堆里的。
JVM中的栈和局部变量 Java开发中,每当我们在程序中使用new生成一个对象,对象的引用存放在栈里,而
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号