99问答网
所有问题
c语言中,静态局部变量和静态全局变量的值,在函数调用结束后都保留原值吗?
如题所述
举报该问题
推荐答案 推荐于2018-05-11
未初始化的静态局部变量存放BSS段中,初始化了的静态局部变量存放于全局区,静态全局变量存放于全局区,,函数调用完了,释放自己使用的栈内存。如果函数中有改变全局区或BSS段的变量,函数调用完后,这些变量的值就是函数里修改后的值。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/z7vWXeOztzBtetB7Bv.html
其他回答
第1个回答 2019-03-22
这个题考的就是静态变量,它有个自动变量不具备特点的就是数值在调用结束后,其固有的值并不改变,且被带到下一次调用中去。不像自动变量在下次调用又被重新初始化了。因此,本题第一次y=2后下次调用函数时y是从2开始而不是初始化的1。
相似回答
c语言
:static问题
答:
二、静态局部变量 static声明的局部变量在调用结束后不消失而保留原值
,即其占用存储但愿不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。只被初始化一次且只能在局部使用。如 float func1(){ static float a = 0;return a++;} float func2(){ float a = 0;return a++;} ...
C语言中静态局部变量的
问题
答:
静态局部变量
相当于全局变量(只是只有在这个函数中能访问,但是生命周期是
和全局变量
差不多的)
,函数
退出之后
变量还在,
而且只在第一次进入的时候做初始化,以后会跳过初始化语句
,保留
原来的值(也就是说,如果item是stati
c的,
那么只有在第一次进入这个函数的时候会执行item=0,以后都不会执行。)。
stati
c变量的
作用
答:
static变量的作用是希望函数中的局部变量的值在函数调用结束后不消失而继续保留原值
,即其占用的存储单元不释放,在下一次再调用该函数时,该变量已有值(就是上一次函数调用结束时的值)。这时就应该指定该局部变量为“静态局部变量”,用关键字static进行声明。C语言是一门面向过程、抽象化的通用程序设计...
c语言中
什么是
静态局部变量?
答:
这种
变量和
一般的变量不同。从程序开始到程序结束一直存在。局部静态变量。是
在函数
内部声明的静态变量。
局部静态变量的值
有一个特性,它会保存你操作的结果。举个例子:int test(int a){ static int sum = 5;sum += a;return sum;} 当你第一次调用时 static int sum = 5;起作用 int a1 =...
c语言中
static问题
答:
两种
,全局变量和静态
类型变量 ,static,即在程序运行的过程
中静态变量
始终是占用一个存储空间。静态变量只能在他的作用范围内使用,使用
局部静态变量
是为了在下次调用该函数时,能使用上次
调用后
得到的该
变量的值
。(1)定义格式: static 数据类型 内部变量表;(2)存储特点 1)静态内部变量属于静态...
C语言静态局部变量和全局变量
有什么区别,不都是在整个程序
中都
有效吗...
答:
按作用域分:全局变量在整个工程文件内都有效;
静态全局变量
只在定义它的文件内有效;
静态局部变量
只在定义它
的函数
内有效,只是程序仅分配一次内存
,函数
返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。全局
变量和静态变量
如果没有手工初始化,则由编译器初始化为0。局部变量...
c语言
-
函数
答:
首先i=0时 a=2;b=b+1得知b=1,c=c+1=1+1=2,所以a+b+c=5,返回值为5 再次i=1时 a=2;b=b+1得知b=1,但是由于c是static【静态局部变量】
静态局部变量的值在函数调用结束后
不消失而
保留原值,
也就是占用的存储单元不释放 此时c=2,执行c=c+1后,c=3,所以a+b+c=6,返回值为...
stati
c在c语言中的
用法
答:
stati
c在c语言中
是私有、静态意思。用于
在函数
中声明“
静态变量
”用,在每一次
调用后,
该变量并不在函数返回时立即释放,变量中保存
的值,
可以保留到下一次调用时继续有效。私有就是隐藏。stati
c函数
只能声明后的本文中调用。static
全局变量
只能声明后的本文中调用。static
局部变量
只能声明后的本
函数调用
静...
c语言
选择题 解释一下计算过程
答:
k是
全局变量
,它的有效范围从定义位置开始到源文件结束 函数f()中m和i是
静态局部变量
,
函数调用结束后
继续
保留原值,在
下一次调用改函数时,这两个变量就是上一次函数调用结束时的值。函数main()m和p是自动变量,函数调用结束时自动释放存储空间 第一次p=f(k,m),f()的形参a得到值4,b得到值1,...
大家正在搜
静态局部变量和静态全局变量的区别
静态全局变量和静态局部变量
全局变量局部变量静态变量
c语言全局变量和局部变量
静态全局变量和普通全局变量
静态局部变量是局部变量吗
静态局部变量在其他函数中
全局变量和局部变量的区别
static局部变量和全局变量
相关问题
C语言静态局部变量和全局变量有什么区别,不都是在整个程序中都...
c语言中 函数调用结束后,函数内定义的静态变量所
c语言中 函数调用结束后,函数内定义的静态变量所占用的空间被...
为什么定义的静态全局变量用在函数里和在函数里定义定义的静态局...
C语言中静态局部变量的问题
C语言中 在一个函数中用 static修饰的变量,还能给它赋...
C语言静态局部变量和全局变量有什么区别?
C语言,全局变量,静态变量问题