static是C语言中的一个关键字,它可以用于多种情况,下面分别介绍:
-
用于局部变量声明
在函数内部使用static修饰一个局部变量时,该变量就被称为"静态局部变量"。与普通的局部变量不同,静态局部变量的生命周期只到程序结束才会被销毁,而且它的作用域仅限于定义该变量的函数内部。 -
用于全局变量声明
在C语言中定义一个全局变量时,默认情况下这个变量是可见的(或者说是可外部访问的)。但当用static修饰全局变量时,它的作用域就被限制在当前文件中,其他文件不能访问该变量。 -
用于函数声明
在函数返回类型前加上static关键字,表示该函数是一个"静态函数"。静态函数的特点是它只能在声明它的文件中可见,其他文件不能调用这个函数。因此,这也是实现信息隐藏(Encapsulation)的一种方式。 -
用于类成员变量和函数
在C++的类中,静态关键字被广泛地应用于类成员变量和函数的声明。静态成员变量在所有对象中共享,并且它们的值在对象之间是固定不变的。而静态函数与普通成员函数不同的主要特点是它们不能访问非静态成员变量和函数,因为它们不属于任何一个对象实例。