还是不太懂 还是拿这个例子来说吧
char a;//全局变量
bit aa;
function1()
{
char b; //局部变量
bit bb;
function2(b);
}
funcion2(char ccc)
{
bit cc;
char c;//局部变量
。。。。
return c;
}
//那么 a b c aa bb cc ccc 在单片机s52中的存放地址大概是在那里?
我的理解是全局变量放在内存中 不可释放 bit 一定放在可寻位的那段内存中 局部变量放在内存中 可以释放覆盖 参数c应该放在R0-R7中转。
但我自己也觉得我的这种想法很自相矛盾。对这个变量的存放,keil是怎么样安排的,我真的很模糊,好像很少书有提过(我就没见到,不知道哪位仁兄见到过)。