c语言static的作用和用法

Python010

c语言static的作用和用法,第1张

static在c语言中是私有、静态意思。

用于在函数中声明“静态变量”用,在每一次调用后,该变量并不在函数返回时立即释放,变量中保存的值,可以保留到下一次调用时继续有效。

私有就是隐藏。static函数只能声明后的本文中调用。static全局变量只能声明后的本文中调用。static局部变量只能声明后的本函数调用

静态就是一直存在,相对于每次调用动态分配而言。static函数未验证是否每次调用代码地址都是一致的。static全局变量生命周期到程序或进程结束。static局部变量生命周期到程序或进程结束。

static的使用和作用

静态全局变量。全局变量前加static,修饰全局变量为静态全局变量,改变全局变量的可见性。静态局部变量。局部变量前加static,修饰局部变量为静态局部变量,改变局部变量的销毁时期。静态函数。函数返回类型前加static,修饰函数为静态函数,改变函数的可见性。

类的静态成员。类成员前加static,修饰类的成员为类的静态成员,实现多个对象之间的数据共享,并且使用静态成员不会破坏封装性,也保证了安全性。类的静态函数,类函数前加static,修饰类的函数为静态函数,减少资源消耗,不需要实例化就可以使用。

静态函数是函数的一种,函数包括静态函数和非静态函数两种。

其中静态函数是有static修饰的函数,如果没有,则为非静态函数(全局函数)。

当整个程序只有一个C文件时,二者没有区别。

当程序是由多个C文件组成时,二者的作用域,即可使用的范围不同。

其中,静态函数(带static的),只能在本文件中使用,无法跨文件。

而非静态函数(不带static的),可以在任何一个文件中使用。当在其它文件中使用时,需要做函数声明后再使用。