UCOS任务中定义的变量是全局还是局部变量
展开全部
放在main函数里定义的变量任然是局部变量,全局变量要放在所有函数(包括main)的外部,例如:
#include <stdio.h>
int x,y,z;
void year(int a,int b,int c);
int main()
{
int i,a,b,c;
for(i=1;i<=1;i++)
{
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=%d\n",c);
year(a,b,c);
system("PAUSE");
return 0;
}
}
void year(int a,int b,int c)
{
printf("现在是%d年%d月%d日\n",a,b,c);
}
这里x y z就是全局变量,其他都是局部变量
#include <stdio.h>
int x,y,z;
void year(int a,int b,int c);
int main()
{
int i,a,b,c;
for(i=1;i<=1;i++)
{
scanf("%d,%d,%d",&a,&b,&c);
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=%d\n",c);
year(a,b,c);
system("PAUSE");
return 0;
}
}
void year(int a,int b,int c)
{
printf("现在是%d年%d月%d日\n",a,b,c);
}
这里x y z就是全局变量,其他都是局部变量
2017-10-25
展开全部
局部变量,也不叫被保存起来了,因为每个任务都有自己的栈空间。比如说任务A定义了一个局部变量,那么这个局部变量会在内存A中,切换到任务B后,栈指针SP会被改变,指向任务B的栈空间,所以说就不会破坏任务A的栈空间啦。最主要是因为SP被人为改变的原因
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询