本帖最后由 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()是不是就變成了不可重入函數?
|