C语言 百分网手机站

C语言关键字static的使用

时间:2020-10-02 09:41:41 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语言中Static和Const关键字的作用11-10

C语言关键字const的使用11-22

C语言register关键字的使用11-01

C语言的关键字enum的使用11-30

C语言的关键字define的使用11-27

总结C语言中const关键字的使用11-29

C语言中32个关键字使用详解11-19

C语言中const关键字的使用方法10-05

C语言中static和extern的区别11-30