在c语言中,static关键字的作用如下:
1.修改变量时,静态修改的静态局部变量只执行一次,局部变量的生命周期延长,直到程序运行才会释放。
2.当static修改一个全局变量时,这个全局变量只能在这个文件中访问,不能在其他文件中访问,即使它是由extern在外部声明的。
3.static修改一个函数,那么这个函数只能在这个文件中调用,不能被其他文件调用。
静态修改的局部变量存储在全局数据区的静态变量区。
扩展数据:
C语言、C++和java中静态关键字的作用类似,但也有区别:
1.C++的静态用法:
1.面向过程编程中的静态和面向对象编程中的静态。
前者适用于普通变量和函数,不涉及类;后者主要说明静态在类中的作用。
2.在类中,static可用于修改静态数据成员和静态成员方法
静态数据成员
(1)静态数据成员可以实现多个对象之间的数据共享。它是一个类的所有对象的共享成员,只占用内存中的一个空间。如果它的值改变了,每个对象中这个数据成员的值也将改变。
(2)静态数据成员在程序开始运行时分配空间,程序结束后释放。只要在类中指定了静态数据成员,即使没有定义对象,也会为静态数据成员分配空间。
(3)静态数据成员可以被对象名或类名引用。
静态成员函数
(1)静态成员函数和静态数据成员一样,是类的静态成员,而不是对象成员。
(2)非静态成员函数有这个指针,静态成员函数没有这个指针。
(3)静态成员函数主要用于定位静态数据成员,不能访问非静态成员。
第二,java的静态用法:
1.声明为静态的变量称为静态变量或类变量。
静态变量可以通过类名或者实例名直接引用,但是前者更好,因为后者容易混淆静态变量和一般变量。
2.声明为静态的方法称为静态方法或类方法。
静态方法可以直接调用静态方法和访问静态变量,但不能直接访问实例变量和实例方法。
此关键字不能在静态方法中使用,因为静态方法不属于任何实例。
参考来源:百度百科-静态(计算机高级语言)