1
當我在函數頂部定義變量並稍後聲明變量時,生成的代碼有什麼區別?例如:在函數頂部聲明的變量和稍後聲明的變量之間的區別
int f(int parameter) {
int a = parameter * 2;
if (a == 4)
return 1;
int b = parameter * 4;
if (b == 4)
return 2;
return 0;
}
是否輸出代碼具有if (a == 4)
後b
變量初始化和分配或將a
和b
變量在同一時刻被初始化?
沒有區別。檢查拆卸並查看。順便說一句,你的代碼中的變量都不是「靜態」的。 –
「在函數之上」也在函數內部。 – plasmacel
我剛剛將標題中的「靜態」編輯出來。 – glglgl