存儲在哪個存儲器部分中的形式參數?
我可以將存儲類說明符應用於形如自動,靜態的參數。可以將存儲類別說明符應用於正式參數
如果將存儲類分類符應用於形式參數Gcc編譯器只給出錯誤。其他編譯器允許告訴我哪個概念是好的。
存儲在哪個存儲器部分中的形式參數?
我可以將存儲類說明符應用於形如自動,靜態的參數。可以將存儲類別說明符應用於正式參數
如果將存儲類分類符應用於形式參數Gcc編譯器只給出錯誤。其他編譯器允許告訴我哪個概念是好的。
不,我們不能指定存儲類給形式參數。 考慮這個例子,
void display(static int a) //ERROR
{
cout<<a++;
}
main()
{
display(2);
display(1);
}
這裏的正式參數不能因爲靜態變量聲明一次,然後對後續調用變量函數使用所以不能得到聲明是靜態的,獲得的價值。我認爲除了正式的參數被分配在棧上這個事實之外我還有一個原因。
可應用於函數參數的唯一存儲類說明符是register
(以及auto
的舊含義)。在此背景下,標準中的第[dcl.stc]
條明確禁止所有其他條款。
你可能不應該在乎他們在哪裏,但他們住在堆棧中(我認爲它符合「auto」關鍵字的舊含義)。你不能選擇讓他們在別的地方。 – heinrichj