面试题16:C语言中static关键字的具体作用有哪些

    答:在函数体中一个被声明为静态的变量在这个函数被调用过程中维持其值不变。

    在模块内但在函数体外,一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其他函数访问。它是一个本地的全局变量。

    在模块内一个被声明为静态的函数只可被这一模块内的其他函数调用,即这个函数被限制在声明它的模块的本地范围内使用。

    static全局变量与普通的全局变量的区别为static全局变量只初始化一次,防止在其他文件单元中被引用。

    static局部变量和普通局部变量的区别为static局部变量只被初始化一次,下一次依据上一次的结果值。

    static函数与普通函数的区别为static函数在内存中只有一份,普通函数在每个被调用中维持一份副本。