先來看**:
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.定義可以給形參預設值,宣告...