永发信息网

c语言中 函数调用结束后,函数内定义的静态变量所占用的空间被释放 这句话正确吗?求解释

答案:3  悬赏:40  手机版
解决时间 2021-03-30 18:15
c语言中 函数调用结束后,函数内定义的静态变量所占用的空间被释放 这句话正确吗?求解释
最佳答案
不正确,函数内的静态变量在该函数调用结束后,且该函数所在的模块没有被释放的情况下,这个静态变量值为上次函数调用后的值。这样说比较抽象。举例说明一下:

void AA()
{
static int s_iCount; //C语言默认初始化0值
s_iCount++; //每调用AA()一次,s_iCount会自加一次
printf("%d\n", s_iCount);
}

void main()
{
AA(); //第一次调用
AA(); //第二次调用
}

运行输出:
1
2

说明:AA()中的 s_iCount,只能在AA()中访问操作,不能在其外的函数中操作,也不能在main()中直接访问。
全部回答
不对,局部静态变量的生存期是第一次到这个局部变量定义的时候到整个程序结束,在函数里面就是第一次调用这个函数执行到生命的语句开始,一直到程序结束。你可以说是那个变量你访问不到,但是空间还在,也就是你下次在调用这个函数的时候,他的空间还在,所以,以后调用函数声明的语句是不会执行的~
错。静态变量所占用的空间会一直保留到整个程序的结束。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
rts822l全站仪后交法测量步骤
130w和130va有什么不同?
天冷求暖床
为什么4G通信网络LTE测试中打开邻小区情况下
ds6是什么品牌车
拉维斯800D升级款和布鲁克k66哪个好
丰田车真的好吗?
酷狗每播一首就自动下载一首是什么回事
从以前的老婆改为现在的名字 是不是真的变了
求白宝山事件的老旧 新闻
蓑衣樊村怎么去啊,有知道地址的么
985名校考公务员和二本大学考公务员的区别?
增高效果白红英的好还是代博方的好
如果生气了,想打人又不能打乍么办?
枞树菇(也就是松乳菇)在野外播种的“t”型
推荐资讯
我是煤炭公司的每个月末结转成本和损益怎么做
想买辆10万左右的车子蚝油低一点儿的
女朋友和别人暧昧
如何不拆机清理笔记本电脑风扇灰尘
iphone6软件大于100mb为何更新不了
如何让桌面上的图片直接显示成小的缩略图?
求主饶恕自己过犯的祷告
怎样通过文旅产业的发展带动城市更新进程?
陶瓷和骨瓷有什么别
第十五课猫,读了课文我知道猫的性格古怪主要
长500米,宽400米,它的面积是多少公顷
哈弗置换,多久提新车
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?