回覆列表
  • 1 # furhz761

    幾經摸索,總算被俺發現了一種可以替代的方法,就是讓函式的引數同時作為同名返回值(實際上不一定非得同名,同名是為了程式碼理解起來方便),這樣便可實現“在函式內部修改引數,外部引數的實際值也會發生變化”的功能。下面是一個小例子。檔案test.m的原始碼如下:functiontest%測試函式disp("按值傳遞引數,呼叫函式後,應有p=1");p=1;parameter_by_value(p);disp(p);%p=1disp("按引用傳遞引數,呼叫函式後,應有p=2");p=parameter_by_reference(p);disp(p);%p=2disp("按引用傳遞引數,呼叫函式後,應有p1=2,p2=4,p3=6");p1=1;p2=2;p3=3;[p1,p2,p3]=multi_parameter_by_reference(p1,p2,p3);disp([p1p2p3]);%----以下為幾個子函式----------------functionparameter_by_value(p)%按值傳遞引數%函式內部改動引數p,函式外p的值應該不變p=2*p;functionp=parameter_by_reference(p)%模擬按引用傳遞引數%函式內部改動引數p,函式外p的值也會變。

  • 中秋節和大豐收的關聯?
  • 中藥“蓮,子”的別名是什麼?