有关c语言中static声明的作用
最近学习和工作的时候碰到了很多static,在网上搜索学习看了很多文章,结合我的实际应用,记录一下以加深记忆,也希望可以给大家帮助,若有错误,请及时指正
static的三大作用:①修饰局部变量②修饰全局变量③修饰函数
修饰局部变量 static修饰局部变量,变量被static修饰之后,会被自动赋初值0,且变为了静态局部变量,程序运行过程中对变量进行操作改变了变量的值会保留下来,在下一次运行到此函数时变量值为上次操作结束的值。(很有用)
修饰全局变量 static修饰全局变量之后,全局变量就只在本文件中有效,不能被其它文件调用了
修饰函数 在.c文件中用static修饰了函数之后,函数就只能在本文件中使用了,无法被其他文件调用;若想被其他文件调用,需要在头文件中声明。 在.h文件中用static修饰了函数之后,在不同的文件中调用这一个函数时,相当于分别调用了一次,且若其中有静态变量,则分别调用时,两个调用中的静态变量值不同。
学艺不精,无法从内存上解释,带我学成归来,再做修改~