程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

C语言static关键字作用(c语言中,关键字static的作用有哪些)

balukai 2025-05-05 14:08:48 文章精选 1 ℃

c语言static关键字有3种用法

  1. 全局static变量

在全局变量前加static 此变量作用域被限制在本文件中可见,如果以文件作为模块,变量增加static类似于本模块的私有变量,如果没有初始化此变量的话和全局变量一样默认会初始化为 0。

  1. 局部static变量

局部static变量为函数内部变量前加static关键字,此变量生存期超越普通局部变量,其实编译器内部实现就是全局static变量,只不过这个全局变量,只能在定义此变量的函数内访问,它的作用域只在此函数中。

  1. static函数

在函数前面加static关键字和全局变量一样,函数变成私有本文件内有效。

一. 全局static变量

					static int a1; //初始化为0, 本文件内有效
          int b1;  //初始化为0, 可以被外部文件引用
					int main(void)
         {
                   printf("%d\n", a1);
									return 0;
         }
  1. 局部static变量
void fn1(void)
         {
         	static a1 = 0;  //第一次进入此函数调用此语句,再次进入不调用
         a1++; //每次进入函数都加1
         printf("value a1:%d\n", a1);
         }

int main(void)
         {
             for (int i = 0; i < 10; i++)
								fn1();
         }
         
         //最终程序会打印出 9
  1. 全局static函数
static fn1(void)   //此函数仅仅在定义此函数的文件中可见,不能被外部文件调用,类似于c++中的私有函数
           {
                  printf("I'm fn1\n");
           }
最近发表
标签列表