单片机C语言中的变量 和 C语言中的变量的区别

来源:百度知道 编辑:UC知道 时间:2024/06/04 01:07:52
单片机C语言中的变量 和 C语言中的变量有的区别
单片机中的变量是不是单独站一个地址空间
当函数使用变量后 变量会不会被清空?

单片机C语言的变量和PC机上C语言的变量有区别,区别在变量的位数,比方说,在8位的单片机上int型变量是16位,而在32位的PC机上int型是32位。

至于变量会不会被清空,在单片机和PC机上是一样的。

如果函数使用到了全局变量,那么函数结束后变量还在。

如果是函数内部定义的局部变量,那使用后变量就被清空。但是如果在这个局部变量前加上“static”的话(声明为静态变量),那函数结束后变量还存在。

举个例子说:

int x;

void f()
{
int y;
static int z;

x=1;
y=2;
z=3;
}

调用函数f()结束后,x和z依然存在,而y消失。

没有区别```