本帖最后由 anksy 于 2019-10-12 19:24 编辑
小弟正在自学C语言。有个问题想请大家帮问解答一下。
c语言判断一个值是否变化是用全局变量还是静态局部变量来保存该值?如果用上了全局变量或者静态局部变量,那么该函数是不是就变成了不可重入函数?
例如
1:
unsigned int i = 0;
unsigned int a = 0;
void fun()
{
i++;
if(i != a)
{
a = i;
}
}
///////////////////////////////
2:
unsigned int i = 0;
void fun() {
static unsigned int a = 0; i++;
if(i != a) { a = i; } } 这里的a就用来保存i的值。那么是用那种方式比较好?或者两种都不可取。另外这个fun()是不是就变成了不可重入函数?
|