static在c语言中的作用?
static在 c语言中的作用:
第一、在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。
第二、static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。
第三、static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的局部变量存放在全局数据区的静态变量区。初始化的时候自动初始化为0。
(1)不想被释放的时候,可以使用static修饰。比如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调用结束释放可以使用static修饰
(2)考虑到数据安全性(当程想要使用全局变量的时候应该先考虑使用static)
扩展资料:
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
延伸阅读
C语言中函数定义时前面加static是什么意思?
表示是静态函数 只能在本文件调用 不能在同工程中,其它C文件调用 使用static 可以避免不想被其它模块调用的函数调用 同时, 不同文件中的static函数可以重名 减少命名难度。
c语言static怎么回答?
static 用来说明静态变量。如果是在函数外面定义的,那么其效果和全局变量类似,即static说明的变量可以在当前c程序文件中使用。
如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,我们再次调用该函数时,仍是保存的上一次函数调用时保存的结果。
static在c语言中是什么意思是用什么输出?
static是用来修饰静态变量的,用printf语句或者保存到文件中都可以
c语言static的使用?
在C语言中,static 不仅可以用来修饰变量,还可以用来修饰函数,使用 static 修饰的变量, 称为静态变量。
一、static修饰局部变量——静态局部变量
结论:static 修饰局部变量改变了变量的生命周期,让静态局部变量出了作用 域依然存在,到程序结束,生命周期才结束。
static 本质上是改变了变量的存储类型,从栈区到了静态区。
(拓展:内存被划分为三个区域:
1.栈区:存放 局部变量、函数的参数等局部的、临时的变量
2.堆区:动态内存分配的
3.静态区:全局变量、static修饰的静态变量)
二、static修饰全局变量——静态全局变量
结论:一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件中使用。(同一个项目中的其他源文件内都不可使用)
全局变量,在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了。
三、static修饰函数——静态函数
总结:一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。
本质:static是将函数的外部链接属性变成了内部链接属性,和static修饰全局变量一样。