C语言关键字static的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言关键字static的使用
C语言关键字static的使用
static的作用,是为了模块化设计而成立的,因为static的作用限定了变量或者函数能够被访问的作用域。

下面是相关的知识,欢迎阅读。

static 可以修饰变量和函数
1、static 修饰函数
函数的访问范围就被限定在本文件以内,任何本文件以外内容的访问此函数,都是非法和无效的,编译不会通过,提示找不到该符号。

所以,我们在进行一个函数设计的时候,首先需要考虑的就是,这个函数的`作用是什么,作用范围是什么,我们应该怎么去保证模块化。

如果没有被外部文件访问,那么就把它限定为static。

这就是这个static 修饰函数的用处。

2、static 修饰变量
无论在文件的哪个位置,用static修饰变量,这个变量运行时都是占用的RAM里的静态全局数据区,再说一遍,静态全局。

在程序运行的整个生命周期内是不会释放的,这个我们也在前面单片机相关的文章里讲过了。

既然static 修饰的变量和全局变量占用一样的空间,为何还有static修饰,直接全局变量也就OK了啊? 对于硬件来说,有没有static 自然是一样的,但是对于软件却不一样。

函数外static修饰的变量,仅仅限定与本文件使用,所以你可以不关注本文件以外的信息,就知道这个变量是如何变化和使用的,这就减小了你阅读程序的难度。

函数内static修饰的变量,仅仅限定于本函数使用,所以你可以不关注本函数以外的信息,就知道这个变量是如何变化的,进一步减小了你阅读程序的难度,也方便查询问题。

所以能定义为static的就尽量定义为static(后面会再更新如何去除static,书写可重入函数)。

【C语言关键字static的使用】。

相关文档
最新文档