static关键字的三种重要作用详解

80 篇文章 3 订阅
订阅专栏
78 篇文章 1 订阅
订阅专栏
62 篇文章 0 订阅
订阅专栏

前言

在C语言中:static是用来修饰变量和函数的
  1. 修饰局部变量-称为静态局部变量
  2. 修饰全局变量-称为静态全局变量
  3. 修饰函数-称为静态函数

一、修饰的局部变量

  1. 如下图中 void test 函数体中定义的局部变量“i”未被static所修饰,所以每当“i”执行完一次之后又被重新赋值为0,然后再i++,所以输出了10个1。

2.如下图中 void test 函数体中定义的局部变量“i”被 static所修饰,每次“i”执行完之后出了作用域依然存在,所以能保留上一次所加的值,直到程序结束,生命周期才结束。

 

二、修饰的全局变量

  1. 如下图中,在test_2.c源文件中,定义一个“未被static”所修饰的全局变量add,然后在test.c(其他)源文件中可以正常输出。

  1. 如下图中,在test_2.c源文件中,定义一个“被static”所修饰的全局变量add,然后在test.c(其他)源文件中编译失败,无法正常输出。

三、修饰的函数

  1. 如下图中,在test_2.c源文件中,定义一个“未被static”所修饰的函数Add,然后在test.c(其他)源文件中可以正常被调用且正常输出。

2.如下图中,在test_2.c源文件中,定义一个“被static”所修饰的函数Add,然后在test.c(其他)源文件中编译失败,无法被调用和输出。

 

四、总结
static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。
一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。
一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。
注:static修饰的全局变量和函数,所修饰两者的作用是一样的。
若是有需补充的地方可以评论留言哦~


【公众号】:奇牛编程

C语言和C++入门教程

【C语言】五小时快速入门C语言: https://nxv.xet.tech/s/3wB3iM

【C语言】零基础到项目实战(交换机项目): https://nxv.xet.tech/s/2bnZ5w

【C++】实战入门:智能婚恋交友系统: https://nxv.xet.tech/s/1gtfps

 

 

 

 

rm命令详解
shengyin714959的博客
03-27 536
rm也是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意,如执行rm -rf /*命令则会清空系统中所有的文件,甚至无法恢复回来。所以我们在执行之前一定要再次确认下在哪个目录中,到底要删除什么文件,考虑好后再敲击回车,时刻保持清醒的头脑。rm命令来自于英文单词remove的缩写,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。【离职小妙招,谨慎!删除某个文件,默认会进行二次确认,敲击y进行确认。强制删除当前工作目录内的所有以.txt为后缀的文件。
static关键字作用详解
01-01
(1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是...
static 的三个作用
随心小记
05-14 1134
1)、用于声明函数体内的变量为静态局部变量,存储在静态数据存储区,在函数被调用过程中维持其值保持不变 2)、在文件内(函数体外)被声明为静态的变量,可以被文件内的所有函数访问,但不能被其他文件的函数访问,是一个本地的局部变量 3)、在文件内,被声明为静态的函数只可被文件内的其他函数调用,但不能被其他文件的函数调用
static关键字作用
瞎子my的博客
05-04 830
全局静态变量 在全局变量前加上关键字static,全局变量就定义成一个全局静态变量. 静态存储区,在整个程序运行期间一直存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化); 作用域:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾。 局部静态变量 在局部变量之前加上关键字static,局部变量就成为一个局部静态变量。...
static 关键字作用
yyy____________的博客
02-28 678
3.静态成员被该类所有对象共享static 关键字可以修饰类中的成员变量和成员方法,被称为静态成员变量和静态成员方法,静态成员拥有一块单独的存储区,不管创建多少个该类的对象,所有对象都共享这一块内存。静态成员本质上属于类,可以通过类名直接访问。1.静态变量默认初始化值为 0,如果没有显示初始化静态变量或者初始化为0的静态变量会存储在BSS段,而初显示初始化的静态变量存储在DATA段。2. 静态成员函数中不能访问普通的成员变量,只能访问静态成员变量,并且在静态成员函数中没有 this 指针。
C++ static关键字的原理及用法详解
最新发布
04-07
### C++ `static` 关键字的原理及用法详解 #### 一、引言 在C++编程语言中,`static`关键字扮演着至关重要的角色。它不仅可以用来控制变量和函数的可见性和生命周期,还能在类的设计中发挥独特的作用。正确地理解...
Java下static关键字用法详解
12-22
Static关键字可以修饰什么?  从以下测试可以看出, static 可以修饰:  1. 语句块  2. 成员变量(但是不能修饰局部变量)  3. 方法  4. 接口(内部接口)  5. 类(只能修饰在类中的类, 即静态内部类)  6. ...
C++面试基础之static关键字详解
08-26
C++面试基础之static关键字详解 本文主要讲解了C++面试基础之static关键字的相关知识点,通过示例代码介绍了static关键字作用和使用场景。 1. static关键字作用 static关键字在C++中有多种用途,既可以修饰...
《Java程序员面试笔试宝典》之Static关键字有哪些作用
《程序员面试笔试宝典》
04-22 2443
static关键字主要有两种作用:第一,只想为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。第二,希望某个方法或属性与类而不是对象关联在一起,也就是说,在不创建对象的情况下就可以通过类来直接调用方法或使用类的属性。具体而言,static在Java语言中主要有四种使用情况:成员变量、成员方法、代码块、内部类。(1)static成员变量虽然Java语言中没有全局的概念,但可以通过st
VMware Coding Challenge: Possible Scores && Summary: static
weixin_34319640的博客
02-27 124
Combination Sum I 那道题的变体 1 /* 2 * Complete the function below. 3 */ 4 5 static int is_score_possible(int score, int[] increments) { 6 Arrays.sort(increments); 7 ...
关键字static作用
热门推荐
10-24 2万+
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。注意,只有在定义了变量后才能使用。如果变量定义在使用之后,要用extern 声
static三种作用
qq_36667262的博客
03-20 913
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容: char a = ‘A’; // global variable vo...
static关键字有什么作用
m0_65562481的博客
05-07 1万+
目录 static关键字有什么作用 (1) static 成员变量 (2)static成员方法 (3) static 代码块 (4)static内部类 引申: 1.什么是实例变量?什么是局部变量?什么是类变量?什么是 final 变量? 2.static 与 final 结合使用表示什么意思? static关键字有什么作用 static 关键字主要有两种作用:第一,为某特定数据类型或对象分配单一的存储空间,而 与创建对象的个数无关。第二,实现某个方法或属性与类...
Java中的static关键字解析
chungu8399的博客
01-19 643
1)static方法 在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。   但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。 2)st...
static关键字作用分析
FanGer的博客
06-19 505
## static关键字作用分析 ## **static关键字主要有两种作用:**     * 第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。     * 第二,实现某个方法或属性与类而不是对象关联在一起具体而言,在Java语言中,static主要有4中使用情况:成员变量、成员方法、代码块和内部类 **(1)static成员变量:**     J
static作用
weixin_34403693的博客
08-22 214
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 chara='A';//globalvaria...
C语言static关键字作用(有三个作用
weixin_49303682的博客
07-11 9105
1.具有隐藏的作用 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 2.保持变量内容的持久 变量不加 static 修饰: #include <stdio.h> void test() { int num = 0; num++; printf("%d ", num); } int main() { int i = 0; for (i = 0; i < 10; i++) {
Java中的static关键字详解
在Java编程语言中,`static`关键字扮演着重要的角色,它可以用来修饰成员变量、成员方法以及形成静态代码块。理解`static`的作用是掌握Java面向对象编程的关键。 首先,`static`修饰的成员变量被称为静态变量或类...
写文章

热门文章

  • 推荐10款适合C/C++开发人员的IDE 16054
  • C语言九九乘法表 9248
  • VSCode这13款插件也太好用了 8543
  • C语言基础知识入门(大全) 6181
  • C++与C的区别终于说清楚了! 5955

分类专栏

  • 编程 62篇
  • C++ 80篇
  • C语言 78篇
  • 干货 12篇
  • 软考 1篇
  • 春招 1篇
  • C语言项目开发 14篇
  • C语言指针
  • C语言IDE 3篇
  • 函数 1篇
  • 匿名 1篇
  • 音视频开发 1篇
  • 视频播放器 1篇
  • 嵌入式 1篇
  • 物联网 1篇
  • 游戏开发 4篇
  • 代码 3篇
  • 运行速度 1篇
  • QT 1篇
  • C 2篇
  • C语言游戏开发 6篇
  • C语言入门必刷题 8篇

最新评论

  • C语言手写-植物大战僵尸

    a55667788123: 植物大战僵尸

  • C语言实现烟花表白,内含源码!!

    2301_80979709: 这是一整个还是挨个分开的啊

  • C语言实现烟花表白,内含源码!!

    志远186: load函数下面的for循环是不是不全?

  • C语言实现烟花表白,内含源码!!

    Focusofyouth: 双斜线加浅色字是注释,可以不用打

  • C语言实现烟花表白,内含源码!!

    2301_82310304: 那些双斜线再加浅色的字是不是可以不用打,也能出来烟花啊

最新文章

  • TIOBE统计数据
  • 下个版本已定!C++自救新动作!
  • 马斯克:我是 Rust 粉丝,但为了性能我会毫不犹豫选择 C/C++
2023年33篇
2022年68篇
2021年22篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢雕塑用什么漆比较好玻璃钢雕塑生产视频上海周年庆典商场美陈怎么样玻璃钢雕塑鹿图片玻璃钢雕塑一般用什么树脂玻璃钢仿铜雕塑质量可以吗宁波玻璃钢雕塑诚信企业江苏大型商场创意商业美陈步骤南阳人物玻璃钢雕塑玻璃钢造型雕塑哪个品牌好无锡商场商业美陈口碑推荐陕西标牌标识玻璃钢景观雕塑厂家龙泉玻璃钢雕塑厂家清远玻璃钢雕塑电话多少海口商场美陈装饰邵阳玻璃钢抽象雕塑商场美陈用什么软件做自贡玻璃钢马雕塑玻璃钢浮雕雕塑电话揭阳工艺玻璃钢人物雕塑湖北公共场所艺术造型玻璃钢雕塑四川周年庆典商场美陈有哪些玻璃钢花盆定制厂商主题玻璃钢雕塑销售方法宣城大型户外玻璃钢雕塑厂家朝阳玻璃钢卡通雕塑价格枝江玻璃钢卡通座椅雕塑美陈特色商场玻璃钢卡通造型雕塑买卖合同青岛人物玻璃钢雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化