C 函式形參是否浪費記憶體?

2021-05-27 23:57:19 字數 521 閱讀 8555

先來看**:

static void dis(string str)  

static int main()

在主函式中有乙個變數mystring,呼叫dis()函式時把mystring傳給dis()的形參str,在執行dis()函式的時候,要先把str例項化,在dis()返回的時候,釋放str所占用的記憶體空間。

現在假設記憶體很小導致如果例項化str就會崩潰,那怎麼解決這個傳值問題?

個人見解如下:

如果利用指標,是不是就可以節省掉好多的記憶體空間呢?

在c#中,微軟聲稱能用指標來進行操作,我google了下,貌似還是不會用

現在偽**如下(可能會編譯錯誤,應該就是會編譯錯誤):

static void unsafe dis(string &str)  

static int unsafe main()

C 函式的形參

這些天又在複習c 溫故知新,每次看書都會發現一些之前被自己忽視掉的知識點,所以,學習是不能止步的!作為一種程式語言,c 最重要的兩個部分就是函式和變數,這兩者之間進行溝通便是通過引數傳遞,而引數傳遞有很多需要注意的細節,今天就來講講引數傳遞的問題。總的來說,引數傳遞的過程,就是初始化函式形參的過程。...

函式指標形參

一 在介紹指標形參之前,先簡要說明下兩個運算子 和 1 取址運算子 用來取得其運算元的位址。取址運算子的運算元必須是在記憶體中可定址到。換句話說,該運算子只能用作函式或物件 例如左值 而不可以用於位欄位,以及那些未被儲存型別修飾符register宣告的內容。float x,ptr ptr x 合法 ...

函式形參 內聯函式

1.形參帶預設值的函式 1.給預設值,需要從右向左給,壓棧的時候從右向左壓。int sum int a 10,int b 這樣是錯誤的2.給預設值呼叫效率高 因為呼叫時給值,h彙編會直接壓棧,如果是給變數值,還需要多一條move指令,需要從記憶體中取值到暫存器,再壓棧。3.定義可以給形參預設值,宣告...