1>在函数体内,一个被申明为静态的变量,那么在这个函数的被调用过程中其值只有在第一次定义被申明,以后调用的话,申明会被忽略,所以也就不会因为函数被多次调用,而新的static变量覆盖旧的static变量;而且static修饰的变量的作用域不想其局部变量一样,在函数退出后被系统释放,而是等到整个程序执行完成,退出main函数后才会释放。所以在函数内定义的static变量在整个被调用过程当中,可以保持变量值维持不变。
2>在函数模块内(但在函数体外),一个被申明为static的变量。该变量就可以在整个模块内被模块内的所有函数方法调用。可以理解为一个本地全局变量。
3>在一个模块内,将一个函数声明为static后,那么这个函数就只能在这个模块内被任意调用。类似于我们OC当中的私有函数,有利于功能的封装。了解过Linux设备驱动开发的话,你会发现这种用有多常见。
就知道这么点。。。。。 |