C语言中的静态变量到底是怎么回事?不是说static 后面变量值是不变的,直到程序结束才释放,那后面的有涉

C语言中的静态变量到底是怎么回事?不是说static 后面变量值是不变的,直到程序结束才释放,那后面的有涉及到该变量的式子,该变量应如何取值?

静态变量的静态是指变量占用的内存地址不释放,也就是说它的地址它从头到尾一直占着,不给其他内存单元占用而已,其本身的值是可以改变的。动态的变量的话,比如调用函数体里定义的变量,在函数执行后便释放出去,把有用的地址资源贡献给其他量,释放以后如果你用指针来打印这个地址的值的话,就很有可能不是原来的值了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-08
这个问题应该从变量生存期讨论。一般自动变量的生存期会随着函数调用的结束而结束。而静态变量函数调用结束时仍然存在,直到整个程序运行结束时才结束。具体的内容和实例可以仔细看一下书上的详细讲解。本回答被提问者采纳

c语言什么是静态变量呢?
c语言中,静态变量与全局变量相似,但它们在生命周期上有所不同。静态变量的生存周期比全局变量更长,它们在程序开始运行时初始化,直到程序结束才释放。在c语言中,静态变量的存储位置不同于局部变量。静态变量存储在数据段中,而不是栈中。这意味着静态变量的值不会在函数调用之间被重置,从而保留了在...

c语言中static说明是什么意思?
C语言中static的含义是静态。关于static在C语言中的详细解释如下:一、静态变量的定义 在C语言中,使用static关键字声明的变量称为静态变量。静态变量具有固定的生命周期,它们在整个程序执行期间都会存在,而不是仅在它们所在的代码块执行完毕后就被销毁。这意味着静态变量的值在函数调用之间保持不变。二、...

c语言编程中“static”是什么意思?
详细解释如下:一、静态变量的存储方式 当我们在C语言中使用“static”关键字声明一个变量时,这个变量会被存储在程序的静态存储区。这意味着这个变量的生命周期是整个程序的运行期间,而不是只在它所在的代码块或函数内有效。即使在函数调用结束后,静态变量仍会保持其值不变。二、静态变量的...

c语言 static静态变量
c语言的static变量是在程序加载的时候就为之分配内存的,一直到程序结束,而不像普通变量那样函数执行一次分配一次。所以当第一次执行p(1)的时候,y已经加1了,下次执行p(2)时,y不会恢复成1,还是2;你就当全局变量的功能处理就行,性能上有区别 ...

c语言static(静态变量、静态函数、静态全局变量)
在C语言中,static是一个非常重要的关键字,它可以用于定义静态变量、静态函数以及静态全局变量。静态变量、静态函数和静态全局变量的作用域和生命周期与普通变量、函数和全局变量有所不同,使用它们可以帮助我们更好地管理程序的状态和数据。静态变量 静态变量是指在函数内部或者块内部定义的变量,但是它的...

C语言中静态局部变量的问题
静态局部变量相当于全局变量(只是只有在这个函数中能访问,但是生命周期是和全局变量差不多的),函数退出之后变量还在,而且只在第一次进入的时候做初始化,以后会跳过初始化语句,保留原来的值(也就是说,如果item是static的,那么只有在第一次进入这个函数的时候会执行item=0,以后都不会执行。)。

c语言中静态变量是怎么用的
c语言中静态变量作常量使用,用于存储常数。可用const,constant或final等关键字标识,其值就会在编译时设定,并且无法在运行时改变。编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区。对于静态全局变量来说,针对某...

C语言中的static
C语言中的static关键字在编程中扮演着重要的角色。首先,当在函数内部使用static声明一个变量时,它会变成局部静态变量,每次函数被调用时,这个变量的值会保留,不会因为函数调用的结束而丢失,就像一个临时的局部存储一样。其次,在模块级别(即函数体外部),静态变量具有一定的全局性。它们可以被模块内...

C语言中static修饰变量
可以,static在C语言中是表示一个变量为静态变量的,而不是常量,也不是不可变的变量。所谓的静态变量有两种情况,一种是静态全局变量,一种是静态局部变量。先说静态局部变量:通常情况下,在一个函数中定义一个变量,那么函数退出之后,这个变量就消失了,即使你第二次调用这个函数,里面的变量也会被...

C语言static的作用?
在C语言中,static关键字的作用如下:1、在修饰变量的时,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。2、static修饰全局变量的时,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。3、static修饰一个函数,则这个...

相似回答