在嵌入式c语言当中,他有三个作用:

  作用一:在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

  1)内存中的位置:静态存储区

  2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

  3)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。

 

  作用二:在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其他函数访问。它是一个本地的全局变量。

  1)内存中的位置:静态存储区

  2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)

  3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。

 

  作用三:在模块内,一个被声明为静态的函数只可被这一模块内的其他函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

  定义静态函数的好处:

  1)其他文件中可以定义相同名字的函数,不会发生冲突。

  2)静态函数不能被其他文件所用。它定义一个本地的函数。

posted on 2012-04-02 10:59  孜求嵌道  阅读(333)  评论(0编辑  收藏  举报