void key2_press(u16 count,u8* lev)
{
if(count<20)
{
*lev += 1;
count = 0;
}
}
u16 count_key2 = 100;
u8 count_lev = 0;
int main()
{
key2_press(count_key2,&count_lev);
}
传值
传值的效果就是函数根据传入的变量的值进行相应的操作,但不会对该变量本身造成影响,
比如上述函数中的形参count_key2
就属于传值,函数内部对count
的操作不会影响到count_key2
的值
传址
传址一般用在函数内部修改函数外变量的值,
比如上述函数中形参lev
,类型是u8*
,指针类型,指向传入变量count_lev
的地址,
在函数内部通过*lev += 1
的方式修改count_lev
的值,
*lev
代表解引用指针,可以访问和修改指针所指向的变量的值