瀏覽單個文章
m5a8258
Major Member
 
m5a8258的大頭照
 

加入日期: Apr 2001
您的住址: 藍色星球
文章: 223
引用:
作者b9156032
call by address:副程式宣告的變數的記憶體位址和主程式傳過去的變數是相同的
所以副程式裡面變數如果有變化主程式也會跟著變
EX:INT A(INT *X){
X++;
}
MAIN(){
INT B=0;
A(B);
?B;//會印出1
}
call by name:compiler 在編譯的時候會直接把副程式裡面的x直接改成變數b
call by reference:不知道怎解釋....


我找到一個call by reference的例子了..請看看是不是這樣
sum(x,y){
x=x+y
}

Main(){
a=2;b=3;
sum(a,b);
write(a,b);
}

call by value的結果會是2,3
call by reference結果會是5,3
那call by address跟call by name呢??
__________________
My Blog
http://www.chengwei.idv.tw
舊 2005-11-19, 02:10 AM #4
回應時引用此文章
m5a8258離線中