`
yingyingol
  • 浏览: 744891 次
文章分类
社区版块
存档分类
最新评论

一个关于静态局部变量以及全局变量的例子

 
阅读更多

先看一段代码



程序的执行结果如下:

程序中定义了一个静态局部变量i,以及一个静态全局变量j;它们都在内存的静态存储区,前者作用域为函数体内,其它地方不可见,而后者作用域为定义处到文件结束,其它文件不可见,每次调用fun1都使i的值加1,而每次调用fun2都先将其复制为0,在加1,所以j的值永远都为1.




分享到:
评论

相关推荐

    C++中 静态局部变量实例详解

    C++中 静态局部变量实例详解 以前经常使用和了解static作用在全局变量前,以至于甚至把static当做全局变量的代名词...这里的n是一个静态局部变量,只有第一执行fn函数时会调用static n=10,以后都不会调用 有例子使用

    预备知识―程序的内存分配

    一个由 c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。 其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放...

    C语言程序设计标准教程

    例如: z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。'Next of Page 2.函数语句  函数调用的一般形式加上分号即构成函数语句。例如: printf ("%D",a);scanf ("%d",&b);都是以函数语句的方式调用函数。 3....

    static 用法

    , 但为了限制全局变量/函数的作用域, 函数或变量前加static使得函数成为静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件(所以又称内部函数)。注意此时, 对于外部(全局)变量, ...

    C语言程序设计(谭浩强)第三版

     7.8局部变量和全局变量  7.8.1局部变量  7.8.2全局变量  7.9变量的存储方式和生存期  7.9.1动态存储方式与静态存储方式  7.9.2局部变量的存储类别  7.9.3全局变量的存储类别  7.9.4存储类别小结  7.10关于...

    C#教程语法

    对局部变量val1的赋值没有影响到局部变量val2,因为两个局部变量都是数据类型(int类型),并且每个数据类型的局部变量都有它们自己的存储。与此相对的是,对于ref.Value的赋值ref.Value=123对ref1和ref2都有影响。 ...

    C程序设计(第四版)学习辅导【谭浩强】

    10.3.2怎样向文件读写一个字符串343 10.3.3用格式化的方式读写文件346 10.3.4用二进制方式向文件读写一组数据347 10.4随机读写数据文件351 10.4.1文件位置标记及其定位351 10.4.2随机读写 354 10.5文件读写的出错...

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    13.2.xsl 一个XSL样式表的例子 13.3.htm Internet Explorer 浏览器中XML的应用 13.4.htm 直接对XML文档进行添加、删除和显示数据的操作 13.5.js Mozilla 浏览器中xml的应用 13.5...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    4.12.3 用static声明静态局部变量 4.12.4 用register声明寄存器变量 4.12.5 用extern声明外部变量 4.12.6 用static声明静态外部变量 4.13 变量属性小结 4.14 关于变量的声明和定义 4.15 内部函数和外部函数 4.15.1 ...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    4.12.3 用static声明静态局部变量 4.12.4 用register声明寄存器变量 4.12.5 用extern声明外部变量 4.12.6 用static声明静态外部变量 4.13 变量属性小结 4.14 关于变量的声明和定义 4.15 内部函数和外部函数 4.15.1 ...

    C程序设计 第四版 谭浩强 高清扫描版 带完整书签目录 加 学习辅导

    7.8 局部变量和全局变量 7.8.1 局部变量 7.8.2 全局变量 7.9 变量的存储方式和生存期 7.9.1 动态存储方式与静态存储方式 7.9.2 局部变量的存储类别 7.9.3 全局变量的存储类别 7.9.4 存储类别小结 7.10 关于变量的...

    java堆栈的区别 -- 详解

    3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    向一个中间的数据结构,它存储有关数据类型的信息以及当前对象所在的堆的地址, 而对于对象所在的实际的内存地址是不可操作的,这就保证了安全性。 1.8.4 对象的引用 对象的使用包括引用对象的成员变量和方法,...

    最新名企标准通用C++面试题,

    下面是一个例子: #include using namespace std; char *des=new char[100]; //全局变量的动态空间申请在程序运行之后,main运行之前完成。所以不是所有的动作都是main引起的。 int main() { char *des="abc"; ...

    C#微软培训资料

    第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...

    你必须知道的495个C语言问题

    如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";} *1.33 下面的初始化有什么问题?编译器提示“invalidinitializers”或其他信息。...

    代码语法错误分析工具pclint8.0

    (e)此时在SourceInsight中的View菜单下多了个pclint_project选项,可以用它来一个工程中的C/C++文件进行静态检查。 本文主要对pclint集成到VC及SourceInsight环境中的方法根据本人安装和使用心得做了较详细介绍,...

Global site tag (gtag.js) - Google Analytics