局部变量和static局部变量的区别

我在单片机程序里写了个C子函数,里面要调用全局变量,耗用单片机的内存,现在我将这个全局变量更改成子函数内的static变量,但是一样耗用单片机内存,这个static变量和... 我在单片机程序里写了个C子函数,里面要调用全局变量,耗用单片机的内存,现在我将这个全局变量更改成子函数内的static变量,但是一样耗用单片机内存,这个static变量和全局变量是一样的吗?
就是说,我声明1字节的全局变量时系统内存的消耗是12byte(假设),当我把这个全局变量改成局部变量的时候,系统内存的消耗还是12byte?
展开
 我来答
weicaihui2008
推荐于2017-09-04 · TA获得超过215个赞
知道小有建树答主
回答量:367
采纳率:100%
帮助的人:201万
展开全部
局部变量:每次进入进入子函数中重新赋值
static:静态变量,开始定义时赋值,以后进入子函数时之前在此函数中计算的值重新赋值该变量 ,static变量和全局变量是不一样,static变量只能在你定义那个子函数中有效。
更多追问追答
追问
你好,其实是这样的,我在给51单片机编程,用的是keilC51软件,不清楚的是,在系统main()函数释放子函数的时候,子函数中的的局部变量会消失吗?为什么在编程的过程中,声明局部变量和声明全局变量一样,都消耗系统总内存啊?
就是说,我声明1字节的全局变量时系统内存的消耗是12byte(假设),当我把这个全局变量改成局部变量的时候,系统内存的消耗还是12byte?
追答
系统main()函数释放子函数的时候,子函数中的的局部变量会消失(静态变量除外),在编程的过程中,声明局部变量和声明全局变量消耗系统总内存要视具体而定,可能相同,可能不同;
匿名用户
2012-08-24
展开全部
访问权限的区别
局部变量就相当于C语言的全局变量,在整个类中可以随意访问的变量
static 局部变量不仅在整个类中可以随意访问,在整个包中也可以随意访问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式