IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 浅谈C中static的作用 -> 正文阅读

[C++知识库]浅谈C中static的作用

tip.以下static仅为鄙人一点认知,希望各位能给提出宝贵的意见!

在引入static之前,我们先来看一看c语言中的存储空间:

(这些在后面会被用到)

static可用来修饰:

1.局部变量

2.全局变量

3.函数

1.局部变量

我们先来看一看没有static修饰时的函数:

?运行结果:

?很明显,十个1,因为a为局部变量被存在了栈区。使用完一次后被销毁,之后再进入test函数时,又重新创建变量a,如此循环10次,运行10次test函数,于是就出现了10次1.

当我们用static修饰局部变量a时:

?运行结果:

?我们可以看到,1-10被打印了出来。

这是因为static将变量a从局部变量变成了静态变量,将a存储到了静态区,与全局变量有了相似的特征。我们知道全局变量的生命周期是伴随一整个工程的。所以在test函数执行完一遍后a不会被销毁,在下次调用时仍维持上次的值。

2.全局变量

仍然先看不被static修饰时的情况:

创建两个源文件,一个创建全局变量,一个使用全局变量。

?

?在另一个源文件引用全局变量时要用extern声明一下。

运行结果:

全局变量a成功被引用。

?当用static修饰时:

?结果为:

a无法被引用。

一个全局变量 在整个工程的其他文件内部能被使用,是因为全局变量具有外部链接的属性,而当一个全局变量被stati修饰时,这个全局变量的外部链接属性就变成了内部链接属性,使得这个全局变量只能在自己所在的源文件使用,其他文件不能再被使用。static修饰全局变量,让其外部链接属性变成了内部链接熟悉,从而使它的作用域变小了,而其生命周期不变。

3.函数

static修饰函数与修饰全局变量作用相似。同样,我们先来看没有static修饰时:

运行结果:

?使用外部函数成功;

当我们用static修饰时:

?

?和static修饰全局变量道理一样,

?函数本来也是具有外部链接属性的,被static修饰的时候就变成了内部链接属性,这个函数只能在自己所在的源文件内部使用,不能再其他文件使用。

总结:

1.当static修饰局部变量时,该变量被存到了静态区,因此其值在下次调用时仍维持上次的值;

2.修饰全局变量时,在本文件内的static全局变量内可以被模块内所用函数访问,但不能被模块外其它文件内的函数访问;

3.修饰函数时与修饰全局变量相同。只能在该文件内被调用,不能被外部文件调用。

感觉有用的老铁点个赞和关注再走啊!谢谢各位。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 10:47:24  更:2021-10-22 10:47:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:39:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码