本文我们将会介绍在c语言中static函数的一些用法
提示:以下是本篇文章正文内容,下面案例可供参考
static在C语言中是关键字,中文直译过来是“静态的”,static关键字在C语言中主要是用来修饰变量和函数。
在C语言中,static关键字的作用有下面几种: 1.隐藏: static函数只能被其所在的源文件中的其他函数调用,它不会在其他源文件中可见。这样做可以避免在其他文件中同名函数的冲突。 2.节省空间: 在多个源文件组成的程序中,static函数可以在不同的文件中重复定义,而不会在最终的目标代码中产生多余的重复代码。链接器会确保每个static函数只有一个实例。 3.封装: static函数可以看作是类的私有方法,它提供了封装的初步形式,使得函数的实现细节不会被外部访问。
在一个函数中,由static函数修饰的是局部静态变量,与普通局部变量不同,局部静态变量在函数调用结束之后不会被销毁,而是保存原值继续存在,所以说如果你需要重复使用一个变量,又不想将他声明为全局变量,那么就可以将他声明为局部静态变量,
例如在这个函数中,count函数在每次调用中不会被重新赋值,而是保持上一次的值继续存在。并继续记数。
作用:像这种需要记录函数调用次数或记录某个状态变化的场景下,静态变量就很有用
使用static修饰的全局变量,只可以在其声明的函数中可见,这样可以把避免与其他文件中相同名字的变量产生冲突,
例如图片中的globalcount变量,只能在声明都所在的文件中可见,其他文件无法访问他们
使用static修饰的函数成为静态函数,这段函数只能在其所声明的函数内部调用,无法被其他函数直接调用,这对于将一些辅助函数,实用函数,限制在特点文件内非常有用
例如这段函数,calculatesum只能在生命的文件内部调用
以上就是要说的内容,本文仅仅简单介绍了static在C语言的使用,static在其他语言中还有更多的使用方法,例如c++等语言中。