既然形參不能把值傳給實參,那請問return是怎么把值給傳過去的?
uj5u.com熱心網友回復:
形參實際上就是另一個變數,當你把實參傳遞給形參的時候,是把實參賦值給形參,之后形參被修改了,怎么能對應的實參呢?顯然是不可能的。函式回傳值是通過CPU暫存器來實作的,回傳之后把暫存器內容賦值給另一個變數,自然就會改變這個變數的值的uj5u.com熱心網友回復:
形參相當于函式的區域變數,在所有顯式定義的區域變數之前(處于地址的高位,如果把地址打出來,會發現它們就挨著那些區域變數)。所有的形參都要復制實參的值,只不過指標可以參考到另一個記憶體位置,從而實作修改參考變數的值uj5u.com熱心網友回復:
函式型參,放在()里和{}里,效果是一樣的,只是對外屬性不同。這么說吧,就是你把實參的值賦給了形參。你要在其他地方改變實參,可以傳遞指標的值,來間接修改實參。
你實參記憶體塊是沒變化的,型參是新的變數,是的記憶體塊。
uj5u.com熱心網友回復:
打錯字了,新的記憶體塊uj5u.com熱心網友回復:
形參不給實參傳值是C語言設計出來的,并不是因為它有什么技術障礙。就好象某人不偷東西是因為良心和法律不允許,而并不是因為偷東西這件事技術門檻太高。
uj5u.com熱心網友回復:
創建臨時變數,拷貝過去的轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236829.html
標籤:新手樂園
上一篇:大一新手學c語言求助
下一篇:復數計算器
