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