C中具有相同名称的多个静态变量

时间:2019-10-27 08:32:11

标签: c static-variables

我们可以在C中如下声明多个静态变量吗? 如果是,它如何工作?

main()

{

   static int a=1;  

       ptrFun();

   a+=1;

   ptrFun();

   printf(" %d \n",a);

}

void ptrFun()

{

   static int a=2;  

   int b=1;

   a+=++b;

}

1 个答案:

答案 0 :(得分:0)

  

我们可以在C中如下声明多个静态变量吗?如果是,它如何工作?

是的,这很好。它通过编译器将变量名称与特定的作用域相关联来工作。名称相同但功能不同的两个静态函数局部变量不会冲突,因为它们在不同的作用域中定义,并且它们的内存是分别分配的。