20201026-成信大-C语言程序设计-20201学期《C语言程序设计B》C-关于static关键字的读解

本文详细解析了C语言中static关键字的功能与应用。包括static作用于变量时对作用域及生命周期的影响,以及static限定函数调用范围的具体实现。通过代码示例展示了静态局部变量的记忆特性。

20201026-成信大-C语言程序设计-20201学期《C语言程序设计B》C-关于static关键字的读解

字面意思:静态
可以作用的对象:变量,函数

作用于全局变量 - 强调作用域

这时,它的作用,主要是限定这个全局变量的作用域是在本源文件内使用,强调的是一个变量的作用域的概念。

  • 防止多个文件里,出现相同的全局变量名的冲突
  • 限定使用空间范围
  • 只能在所在的文件内使用

作用于局部变量 - 强调生命周期

这时,它的作用,就是典型的常用的静态局部变量

  • 它有记忆性【即上一次用过之后,里面存的是什么值,下一次用时,还是什么值,不会再被初始化】
  • 它只能被初始化一次,即定义时,第一次分配内存时,就完成初始化动作,以后不再再被初始化,但可以再被赋值
  • 本质上,就是因为内存一旦分配,就锁定了,生命周期会一直伴随整个程序的结束才结束,这就是静态的真实含意
  • 当再一次使用这个变量时,就直接取对应内存空间里的值出来使用即可【这个值,不可以再次被初始化,也就是说,它会一直保持之前的值】

作用于函数

仍然是一个作用域的强调,表示这个函数只能在本源文件中调用

示例讨论

#include <stdio.h>

int 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值