C语言

C语言关键字static的使用

时间:2024-09-15 15:29:18 C语言 我要投稿
  • 相关推荐

C语言关键字static的使用

  static的作用,是为了模块化设计而成立的,因为static的作用限定了变量或者函数能够被访问的作用域。下面是相关的知识,欢迎阅读。

  static 可以修饰变量和函数

  1、static 修饰函数

  函数的访问范围就被限定在本文件以内,任何本文件以外内容的访问此函数,都是非法和无效的,编译不会通过,提示找不到该符号。 所以,我们在进行一个函数设计的时候,首先需要考虑的就是,这个函数的作用是什么,作用范围是什么,我们应该怎么去保证模块化。如果没有被外部文件访问,那么就把它限定为static。这就是这个static 修饰函数的用处。

  2、static 修饰变量

  无论在文件的哪个位置,用static修饰 变量,这个变量运行时都是占用的RAM里的静态全局数据区,再说一遍,静态全局。在程序运行的整个生命周期内是不会释放的,这个我们也在前面单片机相关的文章里讲过了。

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

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

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

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


【C语言关键字static的使用】相关文章:

C语言关键字08-31

C语言关键字有哪些10-18

C语言的32个关键字07-06

C语言关键字RESTRICT介绍10-25

C语言关键字及其解释06-01

C语言关键字const用法09-06

C语言的关键字知识要点11-02

c语言关键字大全(32个)06-24

C语言必须知道的关键字06-08

C语言中volatile关键字分析07-26