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

C中具有相同名称的多个静态变量,c,static-variables,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; } 我们可以用C语言声明多个静态变量吗?如果是,它是如何工作的 main() { stati

我们可以用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;

}
我们可以用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;

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