永发信息网

c语言局部变量会被回收吗?

答案:1  悬赏:0  手机版
解决时间 2021-11-18 18:55
c语言局部变量会被回收吗?
最佳答案
局部变量 肯定会被回收的,当然也不会保留。要保留传递的局部变量,需要在函数内部手动转存到全局变量 或者 静态变量,换句话说,全局变量 和 静态变量 是可以保留的。追问那为什么第二次无参数调用的时候变量值仍然存在?这是变量指向的地址没有改变吗?怎样查看变量名所在的地址?...怎么看查看是否被回收?请闻回收是在该程序结束时回收还是函数调用结束时?程序未结束,局部变量会一直存在吗?请问在子函数函数内声明的变量与在子函数参数内声明的变量一样吗?追答回收并不意味着重新初始化。回收是把之前用过,现在不用的,拿来重新分配。重新分配的变量,值是随机的,重新分配也不意味着初始化。事实上,C语言写的程序漏洞经常由变量没有正确的初始化而导致。
C语言调用,局部变量的分配有一定的规则,假设你在一个函数中用过一个变量,在局部变量中分配,你给它一个值,然后你不用了。紧接着,到另一个函数中重新定义一个变量,因为没有初始化,这个变量有一个随机的值,这个随机的值,极有可能是之前的值。
以上是理论上的讨论,实际运行时,局部变量一般是在“栈”上分配的,少量的局部变量可能直接使用寄存器。子函数声明的参数变量,经常就是放在寄存器中,除了有调用程序传过来的初值,与普通的局部变量没有区别。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
墨邪尘的小说中有黄老的
武定县心苗幼儿园地址在什么地方,想过去办事
灵气美甲地址在什么地方,想过去办事,
韶关到连山有多少公里
文兴幼儿园(文山州文山县)地址在什么地方,想
宝宝湿气重如何饮食调理
映客点开app。一点就自动关闭
下一次闰九月是哪一年
一起同过窗上年男生在军训最后唱的歌是什么名
中国平民可以游行示威吗?
惊,面膜是怎么毁掉我脸的
ab胶和502哪个粘合塑料比较好?
后悔跟牛男提分手了,怎么办
0.0110%利息取一万块钱是多少钱百度知道
沈阳近20天有霜冻吗
推荐资讯
关于描写形容文章写得好的成语有哪些
四个人困在电梯里,尿急竟然这是什么电视剧
beard,bread,board三者区分妙诀
话说上海世基黄蓝带股票软件的话,请问态度咋
怎么没题目?
含有音标[ae]的单词要20个!!!(要快呀!!
家里种的菊花蒸过晒干多少钱一斤
半夜经常做梦惊醒,是怎么回事
微商卖红酒需要投资吗
哈尔滨市公安局地址好找么,我有些事要过去,
我儿子文科考得544分他填志愿是贵阳学院到今
95米加500厘米等于多少米
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?