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


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

Tags in this post...

面试题 相关文章推荐
一份比较全的PHP面试题
Jul 29 面试题
如何减少垃圾回收让内存更加有效使用
Oct 18 面试题
super()与this()的区别
Jan 17 面试题
JSF如何进行表格处理及取值
Aug 06 面试题
Java里面有没有全局变量?为什么?
Feb 06 面试题
C语言面试题
May 19 面试题
杭州SQL浙江浙大网新恩普软件有限公司
Jul 27 面试题
杭州联环马网络笔试题面试题
Aug 04 面试题
下列程序在32位linux或unix中的结果是什么
Jan 26 面试题
JAVA程序设计笔试题面试题一套
Jul 28 面试题
方正Java笔试题
Jul 03 面试题
Unix控制后台进程都有哪些进程
Sep 22 面试题
介绍一下#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
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
2014/03/19 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
理解Koa2中的async&await的用法
2018/02/05 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
python3利用tcp实现文件夹远程传输
2018/07/28 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
keras导入weights方式
2020/06/12 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
行政助理岗位职责
2013/11/10 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
英雄儿女观后感
2015/06/09 职场文书
上级领导检查欢迎词
2015/09/30 职场文书