c中static用法

来源:互联网 发布:大数据平台的三个重要 编辑:程序博客网 时间:2024/05/09 08:17

1 对于局部变量:

比如一个函数中的static变量:
char* getConsumerName()
{
   static int cnt = 0;
   ....
   cnt++;
   ....

}
cnt
变量的值会跟随着函数的调用次而递增,函数退出后,cnt的值还存在,只是cnt只能在函数中才能被访问。而cnt的内存也只会在函数第一次被调用时才会被分配和初始化,以后每次进入函数,都不为static分配了,而直接使用上一次的值。

 

 

2 对于全局变量以及函数

对于一些被经常调用的函数内的常量,最好也声明成static。但static的最多的用处却不在这里,其最大的作用的控制访问,在C中如果一个函数或是一个全局变量被声明为static,那么,这个函数和这个全局变量,将只能在这个C文件中被访问,如果别的C文件中调用这个C文件中的函数,或是使用其中的全局(用extern关键字),将会发生链接时错误。这个特性可以用于数据和程序保密。

原创粉丝点击