static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?


Posted in 面试题 onFebruary 22, 2015
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。
从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。
static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件
static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

Tags in this post...

面试题 相关文章推荐
mysql_pconnect()和mysql_connect()有什么区别
May 25 面试题
Java中实现多态的机制是什么?
Dec 07 面试题
威盛公司软件C++工程师笔试题面试题
Jul 16 面试题
枚举与#define宏的区别
Apr 30 面试题
将n个数按输入顺序的逆序排列,用函数实现
Nov 14 面试题
什么是Rollback Segment
Apr 22 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
.net笔试题
Mar 03 面试题
C#中有没有运算符重载?能否使用指针?
May 05 面试题
Prototype如何为一个Ajax添加一个参数
Dec 06 面试题
Java基础类库面试题
Sep 04 面试题
一套Delphi的笔试题二
May 11 面试题
介绍一下#error预处理
Sep 25 #面试题
const char*, char const*, char*const的区别是什么
Jul 09 #面试题
雅虎笔试题(字符串操作)
Mar 24 #面试题
枚举与#define宏的区别
Apr 30 #面试题
一家外企的面试题目(C/C++面试题,C语言面试题)
Mar 24 #面试题
下面这个程序执行后会有什么错误或者效果
Nov 03 #面试题
struct与class的区别
Feb 03 #面试题
You might like
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
用php获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
python动态加载变量示例分享
2014/02/17 Python
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
python打开音乐文件的实例方法
2020/07/21 Python
flask项目集成swagger的方法
2020/12/09 Python
Haggar官网:美国男装品牌
2020/02/16 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
单位未婚证明范本
2014/01/18 职场文书
运动会邀请函范文
2014/02/06 职场文书
政协调研汇报材料
2014/08/15 职场文书
大足石刻导游词
2015/02/02 职场文书
会计求职自荐信
2015/03/26 职场文书
工作感言一句话
2015/08/01 职场文书
Python类方法总结讲解
2021/07/26 Python