當前位置:首頁 » 編程軟體 » 程序編譯時形參分配空間嗎

程序編譯時形參分配空間嗎

發布時間: 2022-09-27 11:48:10

c語言 變數在定義時就會分配空間么,那這樣的話定義函數時形參怎麼不是,難道說形參不是定義而是聲明,

定義的時候就會分配 不過分配和釋放的周期不同
比如全局變數,程序開始時就分配,只要程序不退出,空間就不會被釋放
局部變數,函數調用時分配,函數退出時釋放
形參同樣要分配空間的,除非是C++的引用形參。
你可以試試調用一個函數時,列印形參和實參的地址,是不一樣的

java中的形參是不是一定義就立刻分配了內存空間。

形參是肯定基本上不會佔用內存,它只是一個空殼子,但調用的時候用實參去給他賦值同時要實例化,不實例化是不能調用的,而實例化就是一個分配空間的,不就可以說明形參是不被分配內存的。
當然類成員,再用關鍵字static的時候就已經分配了內存。

㈢ 函數聲明中的形式參數會被分配內存空間嗎

會。形參也是局部變數,會分配棧空間。函數運行結束後,使用過的棧空間無意義

㈣ 實參和形參都需要佔用存儲單元么

實參和形參各佔用獨立的存儲單元。

實參和形參是各占獨立存儲空間,函數調用過程中,實參向形參拷貝復制值。實參是個變數,形參也是個變數。

如果佔用同一片空間的話,編譯時候就不存在實參形參類型不匹配的報錯。參數傳遞中,形參值的改變不影響實參的值。


(4)程序編譯時形參分配空間嗎擴展閱讀

形參和實參的區別

1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。函數調用結束返回主調函數後則不能再使用該形參變數。

2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。

3、實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生「類型不匹配」的錯誤。

4、函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。

㈤ 幫我解解這個問題,在c程序中定義函數的形參時,系統要不要對形參分配內存空間,說說你的理由!

形參只在這個函數執行的時候才會被分配內存,當函數執行完畢後分配的內存會被釋放。至於理由……函數的參數屬於局部變數,如果一開始就分配的話,別的地方也能訪問修改,數據就不確定了。
另外,函數的形參實際是:調用此函數前,將實參壓入堆棧,然後跳轉到函數的地址執行。函數執行完跳回去時,堆棧彈出,內存釋放。

㈥ c語言形參和實參共占相同的存儲空間

無論是不是指針,形參實參都不是佔用相同的空間。不是指針時,形參和實參的值是相等的;當是指針時,形參和實參都指向同一個地址(其實也就是*p(形參)和*q(實參)的值是相等的),但絕不是相同存儲空間

㈦ 實參和形參都佔用內存么

形參是肯定的。實參的話,如果把寄存器也看作內存的一部分的話,實參也佔用內存。

㈧ java程序是在編譯的時候分配空間的嗎,如果不是那程序在什麼時候給變數分配內存空間

編譯的時候是不會分配空間的,只是將java代碼編譯成位元組碼。是在運行這段代碼的時候才會分配。javac XX.java是編譯代碼,java XX時候是運行代碼。舉個簡單的例子:
class Cs{
int a=1;
public void print(){
System.out.print("a="+a);
}
public static void main(String args[]){
Cs c=new Cs();
c.print();
}}
當你執行到Cs c=new Cs();的時候會初始化變數。將引用變數c放入棧內存,將變數a=1放入堆內存。

熱點內容
光遇安卓渠道服怎麼更換實名認證 發布:2024-04-19 16:18:08 瀏覽:263
關閉ip訪問 發布:2024-04-19 15:59:18 瀏覽:730
大屏安卓系統哪個好 發布:2024-04-19 15:49:10 瀏覽:792
解壓瀏覽器 發布:2024-04-19 15:39:22 瀏覽:575
pythonutfgbk 發布:2024-04-19 15:32:20 瀏覽:221
騰訊雲伺服器搭建網站打不開 發布:2024-04-19 15:32:15 瀏覽:967
光遇腳本輔助下載免費ios 發布:2024-04-19 15:22:11 瀏覽:243
表格VB腳本 發布:2024-04-19 15:13:07 瀏覽:780
python生成器表達式 發布:2024-04-19 15:12:10 瀏覽:747
獲取文件夾文件名 發布:2024-04-19 14:45:51 瀏覽:248