C语言中的static关键字的作用

在c语言中static关键字的作用主要是隐藏,用它修饰的函数和变量对于外部文件(模块)都是隐藏的,即对外部是不可见的,

例如:a.c文件中没有static修饰的函数或者变量,在main.c文件中是可以访问的,但是如果在a.c文件中有static修饰,则Main.c文件中是不可见得。

隐藏的功能很重,用static隐藏就可以控制代码的范围,和本地化数据,这个是很重要的。

对于函数来说只有隐藏功能,对于变量来说还有以下两个功能:

第一:在函数体内用static修饰的变量是静态变量,能保证在这一函数被调用的过程中维持其值不变。

第二:在文件(模块)内(函数体外),一个本声明为静态的变量可以被模块内所有的函数访问,但不能被外部的其他函数访问,他是一个本地的全局变量,(还是隐藏)。

本地化数据可以使得在不同的模块带定义同名的变量和函数,而不用担心重名现象。

 

 

你可能感兴趣的:(c语言)