C语言static关键字

  1. 静态局部变量:如果你在函数内部定义一个静态变量,该变量只会初始化一次,而不是每次调用函数时都初始化。这意味着该变量的值在函数调用之间是持久的。

    void foo() {  
        static int x = 0;  
        x++;  
        printf("%d\n", x);  
    }
    在这个例子中,每次调用foo(),x的值都会增加1。
  2. 静态全局变量和函数:全局静态变量和函数的作用域局限于声明它们的文件。这意味着,如果你在一个文件中声明了一个全局静态变量或函数,它将无法从其他文件中访问。这有助于封装和隐藏实现细节。

    static int x = 0; // 这个变量只能在此文件中访问  
      
    static void foo() { // 这个函数只能在此文件中访问  
        // ...  
    }

  3. 静态函数:静态函数的作用域局限于声明它们的文件。也就是说,你不能在另一个源文件中调用一个静态函数。这有助于封装和控制函数的可见性,防止函数名冲突。

你可能感兴趣的:(高级嵌入式c语言,c语言,开发语言)