CANoe8.0. 如何发送Lin报文
来源:网络收集 点击: 时间:2024-06-03步骤一:
当一个函数存在多次调用时,其内部的局部变量却有着标准C静态变量的特性。声明如下四个函数TestFunc_1~4()进行说明:
void TestFunc_1(void)
{
byte a = 1, b = 2;
write(a == %d ; b == %d, a, b);
}
void TestFunc_2(void)
{
byte c = 3, d = 4;
c = 3;
d = 4;
write(c == %d ; d == %d, c, d);
}
void TestFunc_3(void)
{
byte a = 1, b = 2;
a = a+a; // 2
b = b+b; // 4
write(a == %d ; b == %d, a, b);
}
void TestFunc_4(void)
{
byte c = 3, d = 4;
c = 3;
d = 4;
c = c+c; // 6
d = d+d; // 8
write(c == %d ; d == %d, c, d);
}

步骤二:
可见函数TestFunc_1()和TestFunc_3()仅在定义时对局部变量进行了显式的初始化,而函数TestFunc_2()和TestFunc_4()除了在定义时对局部变量进行了显式的初始化,还额外用指令进行了显式的初始化。函数TestFunc_1()和TestFunc_2()中除了定义变量和赋初值,未对变量进行其它赋值操作,而函数TestFunc_3()和TestFunc_4()中除了定义变量和赋初值,还对变量进行了加减后的赋值操作。

步骤三:
标准C对用static声明的局部变量(静态变量)的定义:static类型的局部变量同上述一样,只能在该函数中使用,但不同的是,不管其所在函数是否被调用,它一直存在,不会随所在函数的被调用和退出而存在和消失,也即一直占着存储空间。

步骤四:
标准C对局部变量的定义:函数中的每个局部变量只在函数被调用时存在,在函数执行完毕退出时消失。所以在函数存在多次调用时,局部变量是不会保持前次调用时的赋值。

合理安排时间游戏
不要沉迷
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_875873.html