本帖最后由 anksy 于 2019-10-12 19:24 編輯
小弟正在自學C語言。有個問題想請大家?guī)蛦柦獯鹨幌隆?br />
c語言判斷一個值是否變化是用全局變量還是靜態(tài)局部變量來保存該值?如果用上了全局變量或者靜態(tài)局部變量,那么該函數(shù)是不是就變成了不可重入函數(shù)?
例如
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()是不是就變成了不可重入函數(shù)?
|