关于静态局部变量与静态外部变量
静态局部变量特点:static int a
1:静态局部变量存储在静态存储区,如果赋有初值,函数调用期间只赋值一次,下次调用该函数时,静态局部变量值为上次调用之后的结果,原因:静态局部变量在函数调用期间是不释放的;而自动变量在每次调用函数时都会重新执行赋值语句,原因:每次函数调用完毕之后,自动变量都会被释放;
2:静态局部变量若开始未赋初值,编译时自动赋初值0或者‘\0’;而自动变量则为不确定值;
3:静态局部变量不能被其他函数引用,即使在函数调用结束该存储区没有被释放;原因:它是局部变量;
4:静态局部变量更不能被其他文件进行extern扩展使用
静态外部变量:
外部变量特点:extern A
编译系统在遇到extern时,先在本文件中找外部变量的定义,如果找到,就在本文件中扩展作用域;若没有找到就在连接时其他文件中寻找,如找到则进行扩展,若没有找到,则报错;
静态外部变量:一个文件中在函数外面进行定义的静态变量如:static int A 该静态外部变量只能在本文件中使用,不能被其他文件中的extern 扩展;因此static具有将外部变量限制在本文件中作用;
例如:file1 中定义全局变量int A ,在file2中想要使用文件1中的变量A,则只需要在file2 中exten A进行扩展即可使用;如果file1中的全局变量A不希望被其他文件使用,在file1文件定义为:static int A,这样就将变量A限制在本文件中使用;当然在file2执行exten A语句时,会优先检查本文件中是否定义有变量A,如有则使用本文件的变量A;若无在进行外文件的扩展。
关于静态局部变量与静态外部变量相关推荐
- 静态变量、动态变量、内部变量(局部变量)、外部变量(全局变量)
区分静态变量.动态变量.内部变量(局部变量).外部变量(全局变量) 静态变量.动态变量.内部变量(局部变量).外部变量(全局变量) 变量的分类来看 静态变量.动态变量.内部变量(局部变量).外部变量( ...
- 局部变量,全局变量(外部变量),静态局部变量,静态全局变量
今天被问到了一个问题:如何让请求的类延迟释放 如果要延迟释放或者在程序整个生命周期都存在可以考虑两种方式,一是定义一个静态变量,二是用单例.用单例本质上用的是静态变量. 单例的写法如下: + (ins ...
- 静态局部变量和静态全程变量static。
1. 什么是static? static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1 static 的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时, ...
- C语言基础入门48篇_44_静态局部变量、静态全局变量、静态函数(静态局部变量只被初始化一次,保留变量值、静态全局变量是加了作用域的全局变量、静态函数亦是加了作用域的函数)
static关键字 C语言中的static关键字,有多种用法,它可以用来修饰局部变量.全局变量和函数,分别得到静态局部变量.静态全局变量和静态函数. 1. 静态局部变量 普通局部变量,函数每调用一次就 ...
- C语言局部变量、全局变量、静态局部变量、静态全局变量
建立三个文件,文件名分别为main.c \ head1.c \ head2.c main.c #include<stdio.h> #include<stdlib.h> #in ...
- java静态局部变量_java中成员变量,局部变量,静态变量的辨析
转自百度:https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc 1.java中成员变量,局部变量 ...
- 四种变量的区别(局部变量,全局变量,静态局部变量,静态全局变量)
区别: 1. 局部变量: (1)在函数体内部或者复合语句中定义的变量称为局部变量. (2)作用域为当前的函数体. (3)在栈区(动态存储区)分配. (4)函数调用时开始分配,调用结束时释放. 2. 全 ...
- static关键字:静态局部变量,静态全局变量与静态函数详解
static关键字 1.static修饰局部变量:静态局部变量 2.static修饰全局变量:静态全局变量 3.static修饰函数:静态函数 1.static修饰局部变量:静态局部变量 概念: st ...
- c语言的局部变量,全局变量及静态局部变量和静态全局变量
局部变量 在函数的开头定义 在函数内的符合语句内定义 作用范围 在包含该局部变量的函数内有效 一个函数内部,可以在复合函数语句中定义变量,这些变量只在本复合语句中有效,这种符合语句称为分程序或程序块 ...
最新文章
- 编程面试过程中最常见的10大算法
- 置顶 | 2021学习单/读书单(该来的总会来,过好当下,静待花开)
- TCP 滑动窗口协议
- prometheus监控耗时MySQL_Grafana+Prometheus监控mysql性能
- 织梦guestbook.php漏洞,DEDE:织梦漏洞修复(含任意文件上传漏洞与注入漏洞)
- 别瞎忙活:创业公司的6条时间管理策略
- 过河(dp+离散化)
- Exchange 服务器可支持性矩阵
- Navicat 教程:排序、查找或替换记录
- Windows Phone SDK 7.1 简体中文版离线安装包地址
- Sublime Text 如何连接 FTP/SFTP ——图文详细教程
- POJ 1127_Jack Straws
- java sigar cpu使用率_sigar相关-单个进程占CPU百分比
- HiJson(Json格式化工具)64位中文版下载 v2.1.2
- 机器学习——训练模型
- Jedis hget连接好久没有反应
- 数模笔记(四):插值与拟合1.0
- 【Android】Android 封装 Http 请求工具
- 使用 tf.nn.dynamic_rnn 展开时间维度
- 重订增广(清·周希陶)