c语言staticint的作用,c语言中static是什么意思?作用是什么

51cto/2023/10/1 2:35:45

c语言中static是什么意思?作用是什么

发布时间:2020-04-30 10:07:02

来源:亿速云

阅读:290

作者:小新

今天小编给大家分享的是c语言中static是什么意思?作用是什么,相信很多人都不太了解,为了让大家更加了解static,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

3e3a0bd012bd38c6e2468a6f890ef26b.png

static在c语言中是什么意思

c语言中,static用来说明静态变量。

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

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

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

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

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

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

举例说明:static int a;

int b;

void func(void)

{

static int c;

int d;

}

上面程序中,a与b都是全局变量,二者的区别是,b可以被别的文件使用,a只能在本文件中使用,这是static对全局变量的作用。

c和d的区别是,d是一个自动变量,func函数执行完后,d会自动被释放。但c却不会被释放,下一次调用func函数时,c的值会保留上次的值继续使用。

关于c语言中static是什么意思?作用是什么就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。


http://www.ngui.cc/51cto/show-838.html

相关文章

static 和 extern 的作用

问题:static 和 extern 修饰变量和函数时有什么作用?请举例说明。 static 简单来说,static 关键字有两个作用: 限制变量的作用域设置变量的存储域具体来说,在不同的使用场景有不同的表现。(函数名也是变量) 静态全局变量 用 static 声明静态全局变量:限制本文件外使…

C - static关键字的作用

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 在C语言中,static关键字用来定义全局静态变量、局部静态变量及静态函数。 定义全局静态…

C++基础知识之static(static是什么,static的好处,static的使用和作用)

一、static是什么? static是C/C中的修饰符,可以用来修饰变量,也可以用来修饰函数。 二、static的好处是什么? 1、隐藏变量或函数、隔离错误,有利于模块化程序 在编程中,难免会用到全局变量,全局…

matlab解线性方程组后结果是小数,MATLAB线性方程组求解

有唯一解线性方程组求法对于一般的,有唯一解的线性方程组,我们可以转换成矩阵的形式:A x b AxbAxb 则可以用矩阵运算求解x,即xA\b有无穷解的线性方程组求法齐次线性方程组的通解求解齐次线性方程组基础解系的函数是nullZnull(A)表…

java中static的作用_Java中static关键字的作用

static关键字主要有两种作用:第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。第二,实现某个方法或属性与类而不是对象关联在一起具体而言,在Java语言中,static主要有4中使用情况&…

matlab中solve解方程,MATLAB中使用solve解决方程组的问题

希望使用MATLAB的solve函数解出一个带有虚数的方程组,但是一直提示计算错误,要么就是算不出来结果,希望大佬们能帮帮忙程序如下:syms a1 a2;a[a1 a2];C113.0638; C160; C660.43; C120.2553; C260; C221.0213;Q[C11 C16C16 C66];R[…

c语言静态方法作用域,C语言中static和extern的区别

C语言中static和extern的区别导语:由于变量的声明可以有多次,但定义只能有一次,这就不可避免地要使用extern,static关键字。弄清楚这几个关键字之间的用法和区别,能节省很多调试项目的时间,尤其是对于一些难…

matlab 指数方程求解,在MATLAB中求解指数方程

在下面的代码中,我在数值上求解n0.5(常数)的等式,但是它对于您选择的其他值应该是相似的。注意SOLVE函数只返回找到的第一个解决方案。因此,我直接调用MuPAD发动机,每一次在其中的间隔来搜索该溶液指定:%# lets plot t…

android static 作用,android 尽量不要使用static静态变量

使用静态static静态变量潜在性问题:1.占用内存,并且内存一般不会释放;2.在系统不够内存情况下会自动回收静态内存,这样就会引起访问全局静态错误。3.不能将activity作为static静态对象,这样使activity的所有组件对象都…

matlab用solve解方程错误提示,用matlab的solve函数解方程/方程组的程序运行出错

用2010a版本matlab的solve函数解方程,方程系数随给定变化,用的num2str()实现系数传递,但是换成方程组就不行了。而我的主要目的还是想解变系数的方程组,现在是假设给定系数传递到方程组中加以验证两段程序如下:解一个未…