static全局变量和普通全局变量,static局部变量和普通局部变量,static函数与普通函数的区别?下面本文将一一为你解答。

(1)全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。

(2)从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。

(3)static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。

综上所述:

static全局变量与普通的全局变量有什么区别?

static全局变量只初使化一次,防止在其他文件单元中被引用;

static局部变量和普通局部变量有什么区别?

static局部变量只被初始化一次,下一次依据上一次结果值;

static函数与普通函数有什么区别?

static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝;

php 类static引用函数吗,php中在变量和函数前加static关键字之后的区别相关推荐

  1. 将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中

    将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中 写这种.h和.cpp文件分开的大程序,虽然对很多人来说很简单,对自己来说算是第一次吧,好好学C++,加油~ 题目:定义Point类,由 ...

  2. R语言ggplot2可视化散点图并添加平滑曲线、WVPlots包BinaryYScatterPlot函数可视化一起中一个变量为二元离散变量的散点图(随着年龄变化是否有健康保险的客户的比例)

    R语言ggplot2可视化散点图并添加平滑曲线.WVPlots包BinaryYScatterPlot函数可视化一起中一个变量为二元离散变量的散点图(随着年龄变化是否有健康保险的客户的比例) 目录

  3. pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换

    pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换 目录

  4. c语言 格式转换函数,C语言中的格式转换函数.doc

    C语言中的格式转换函数 C语言中的格式转换函数 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过 ...

  5. R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图、自定义cex.main参数配置标题文本字体的大小

    R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图.自定义cex.main参数配置标题文本字体的大小(名称.有效值个数. ...

  6. R语言使用epiDisplay包的summ函数计算dataframe中指定变量的描述性统计汇总信息并可视化有序点图、通过dot.col参数配置数据点的颜色(名称、有效值个数、均值、中位数、标准差)

    R语言使用epiDisplay包的summ函数计算dataframe中指定变量的描述性统计汇总信息并可视化有序点图.通过dot.col参数配置数据点的颜色(名称.有效值个数.均值.中位数.标准差.最大 ...

  7. R语言使用epiDisplay包的summ函数计算dataframe中指定变量的描述性统计汇总信息并可视化有序点图、并添加箱图(名称、有效值个数、均值、中位数、标准差、最大值、最小值)

    R语言使用epiDisplay包的summ函数计算dataframe中指定变量的描述性统计汇总信息并可视化有序点图.并添加箱图(名称.有效值个数.均值.中位数.标准差.最大值.最小值) 目录

  8. R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图、自定义cex.Y.axis参数设置Y轴轴标签字体的大小

    R语言使用epiDisplay包的summ函数计算dataframe中指定变量在不同分组变量下的描述性统计汇总信息并可视化有序点图.自定义cex.Y.axis参数设置Y轴轴标签字体的大小(名称.有效值 ...

  9. R语言epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(一维频率表、包含频数的百分比、累积的百分比、使用条形图可视化频数分布)、设置cum.percent参数即使存在缺失值也显示

    R语言使用epiDisplay包的tab1函数计算数据框中指定变量的频率并可视化(tab1函数计算数据的一维频率表.包含频数的百分比.累积的百分比.使用条形图可视化频数分布).设置cum.percen ...

最新文章

  1. torch.nn.functional.cross_entropy.ignore_index
  2. scrapy中response的方法
  3. NMM3DViewer 设计
  4. [Wrong Answer] Leetcode 805 JavaScript 解决方案 数组的均值分割
  5. 诗与远方:无题(七十七)- 远方
  6. 运算符重载——左移运算符重载
  7. Entity Framework教程(第二版)
  8. VS 2015 VAssistX 破解
  9. 软考之软件评测师考试详解以及准备篇
  10. 关于错误local variable ‘str‘ referenced before assignment
  11. 基于U3D的VR开发教程:(1)基础环境配置
  12. 面试题小结 (数据分析)
  13. 实现字符串倒序并输出
  14. 游戏开发技术——游戏引擎
  15. 文献合集 | 超扫描之fNIRS / fMRI / EEG / MEG
  16. rman如何直接备份到异地硬盘,磁带机和磁带库
  17. 数字信号处理_第1个编程实例
  18. 洗衣机智能驱动控制芯片方案
  19. 关于补码1.0000的真值为什么是-1的解答
  20. SiP封装成超越摩尔定律的要塞,日月光/安靠/长电科技谁将赢取IC封装的未来

热门文章

  1. Oracle数据库时间修改
  2. 黑马程序员--里氏转换
  3. File::Path管理多级目录
  4. 中国移动全球通寻宝第四期攻略
  5. [导入]SQL Injection cheat sheet
  6. Vue的router导航重复-报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to curren
  7. pythonindexerror_Python index错误值不在list…on.index(value)
  8. 微课|中学生可以这样学Python(7.3.2节):数据成员
  9. linux安装qt4 creator,ubuntu14.04下安装qt4.8.6 +qt creator
  10. 工业机器人什么情况下会出现奇点_功夫机器人周全:复合作业机器人规模应用的奇点有多远?...