c语言中static的作用和用法

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

static关键字不仅可以用来修饰变量,还可以用来修饰函数。在使用 static 关键字修饰变量时,我们称此变量为静态变量。静态变量的存储方式与全局变量一样,都是静态存储方式。静态变量属于静态存储方式,属于静态存储方式的变量却不一定就是静态变量。

在C语言中,static关键字的作用如下:

在修饰变量的时,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。

static修饰全局变量的时,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。

static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。

C++的static用法:

面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。

在类中,static可以用来修饰静态数据成员和静态成员方法。

静态数据成员:

静态让仔闭数据成员可以实现多个对象之间的数据共享,它是类的所有对象的共享成员,它在内存中只占一份空间,如果改变它的值,则各对象中这个数据成员的值都被改变。

静态数据成员是在程序开始运行时被分配空间,到程序结束之后才释坦裂放,只要类中指定了静态数戚数据成员,即使不定义对象,也会为静态数据成员分配空间。

静态数据成员既可以通过对象名引用,也可以通过类名引用。

静态成员函数:

静态成员函数和静态数据成员一样,他们都属于类的静态成员,而不是对象成员。

非静态成员函数有this指针,而静态成员函数没有this指针。

静态成员函数主要用来方位静态数据成员而不能访问非静态成员。

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

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

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

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

static的使用和作用

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

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

您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部

static 用来说明静态变量。

1、如果是在函数外面定义的,那么其效悔桐果和全局变量类似,即static说明的变量可以在当前c程序文件中使用。

2、如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,我们再次调用该函数时,仍是保存的上一次函数调用时保存的结果。

扩展资料:

c语言中的static有三个主要作用:

1、隐藏性。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。

2、static可以保持变量内容的持久,当static定义变量在函数内部时,改变量值的生命周期和全局变量相同。非码芦常感谢您的耐心观看,如有帮助请采纳,祝迟前带生活愉快!谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12403829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存