静态局部变量属于局部变量吗 c语言程序问题

到底谁说的比较对啊。。。权威一点的。。。... 到底谁说的比较对啊。。。权威一点的。。。 展开
 我来答
tustnhs
2011-08-17 · TA获得超过1254个赞
知道小有建树答主
回答量:1084
采纳率:0%
帮助的人:685万
展开全部
静态局部变量就是局部变量
因为他的作用域还是在局部
不过他是静态的,也就是存储区域改变了
所以当再次进入此作用域时,变量的值还保持着
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cejie468
2011-08-17 · 超过23用户采纳过TA的回答
知道答主
回答量:343
采纳率:0%
帮助的人:135万
展开全部
问题补充:没有数据类型 C语言中的static有两种用法:面向过程程序设计中再次编译运行程序,细心体会全局变量和静态全局变量的区别。 2、静态局部变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黄孔云
2011-08-17 · TA获得超过549个赞
知道答主
回答量:117
采纳率:0%
帮助的人:73.3万
展开全部
这个问题就想是“白马非马”之说,如果它不是局部变量为什么叫做局部变量?只是它是特殊的局部变量而已,静态局部变量的内存保存在全局变量去而不是简单的栈空间,C语言内存机制分为5个区(栈、堆、代码区、常量区、全局变量区)。静态变量和全局变量一样只有在程序结束是才被OS释放,整个程序只有一份而不会有其他的拷贝,所以当你第二次使用该静态变量时该变量的值是上一次的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
poseidon_k
2011-08-18 · TA获得超过2580个赞
知道小有建树答主
回答量:1223
采纳率:0%
帮助的人:314万
展开全部
“局部变量”存在于临时为函数分配的栈空间中,函数退出时该函数的栈帧被销毁,因此局部变量也不复存在,但“静态局部变量”与之不同,它存放在程序的数据段内,数据段是在进程启动系统为其开辟内存空间时就分配的一段专门存放数据的内存,在进程退出前一直存在,所以静态局部变量的数据能够一直保存。
它们之间没有属于的关系,是存储方式完全不同的两种类型。 尽管它们都是写在函数内部的变量,作用域在局部,不可以在函数外部使用局部变量和静态局部变量,这是它们唯一的共同点。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式